• 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;
    }

  • 相关阅读:
    String,StringBuffer与StringBuilder的区别?
    Digui
    Digui1
    逆序
    TestOverWrite
    DemoBoxWeight
    TestSuperSub
    Cast
    TestOverWrite
    Joseph
  • 原文地址:https://www.cnblogs.com/song27/p/7513898.html
Copyright © 2020-2023  润新知