• springboot 入门三- 读取配置信息二(读取属性文件方式)


    在上篇文章中简单介绍自带读取方式。springboot提供多种方式来读取

    一、@ConfigurationProperties(value="my")

    支持更灵活的绑定及元数据的支持,但不支持spEL

    定义appConfig接收(需要set get方法)

    @Component
    @ConfigurationProperties(value = "my")
    public class AppConfig {
        private String name;
        private String version;
        private String firstName;
        private String serverPort;
        private int size;
        private List<String> roles;   
        private List<String> servers;

    ......

    }

    application.properties属性写法(list类型有二种):

    my.name=dev
    my.version=2.0.0
    my.firstName=dev-first
    my.server-port=9090
    my.size=20
    my.roles[0]=user
    my.roles[1]=admin
    my.servers=test.baidu.com,dev.baidu.com

    二、@Value需要与@PropertySource注解组合使用,能支持spEL,有严格的限制,不够灵活,不支持数组。但能自定义读取外部文件

    value是路径数组,后面的文件替代前面的文件,与摆放位置有关。

    @Component
    @PropertySource(value={"classpath:/custom/custom.properties","file:${appHome}/app-config.properties"},encoding="UTF-8")
    public class ValueConfig {
        @Value("${my.name}")
        public String name;
        @Value("${my.version}")
        public String version;
        @Value("${my.firstName}")
        public String firstName;
        @Value("${my.server-port}")
        public String serverPort;
        @Value("${my.size}")
        public int size;
        @Value("#{'${my.servers}'.split(',')}")
        public List<String> servers;
    }

  • 相关阅读:
    为什么你SQL Server的数据库文件的Date modified没有变化呢?
    SQL Server中SELECT会真的阻塞SELECT吗?
    ORACLE从共享池删除指定SQL的执行计划
    flink DataStream API使用及原理
    漫谈九品中正制和现阶段阶层分层
    flink dataset api使用及原理
    从flink-example分析flink组件(3)WordCount 流式实战及源码分析
    TODO supply a title
    avalon2学习教程01
    avalon1与avalon2的异同点
  • 原文地址:https://www.cnblogs.com/song27/p/7513898.html
Copyright © 2020-2023  润新知