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

Posted 落孤秋叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}
































以上是关于springboot 入门三- 读取配置信息二(读取属性文件方式)的主要内容,如果未能解决你的问题,请参考以下文章

Springboot入门

SpringBoot入门到精通-SpringBoot自动配置原理

SpringBoot入门SpringBoot的配置

SpringBoot入门二十一,全局异常处理

SpringBoot入门二十,添加Websocket支持

SpringBoot——SpringBoot入门SpringBoot的自动配置配置文件和开发小技巧