SpringBoot 2.1.5 配置文件

本文介绍了SpringBoot 2.1.5的配置文件使用,包括默认配置文件、多个配置文件的加载策略、配置文件中属性的读取方式,如通过`@ConfigurationProperties`和`@Value`注解,以及多配置文件中相同属性的优先级规则。

1 配置文件

1.1 默认配置文件

默认配置文件:

application.properties
或
application.yml

1.2 多个配置文件

application.properties
application.yml
application-dev.yml
application-local.yml

根据配置决定哪个生效:spring.profiles.active=local

1.3 配置文件中属性读取

1.3.1 会取生效的配置文件找master前缀的配置

@ConfigurationProperties(prefix = “master”)

@Component
@Data
@ConfigurationProperties(prefix = "master")
public class MasterByDefaultProperties {
    private String name;
    private String sex;
    private String subject;
}
1.3.2 会取生效的配置文件找“master.name”的配置

@Value("${master.name}")

@Component
@Data
public class MasterByProperties {
    @Value("${master.name}")
    private String name;
    @Value("${master.sex}")
    private String sex;
    @Value("${master.subject}")
    private String subject;
}
1.3.3 @PropertySource和@Value联合使用,取@PropertySource指定配置文件找对应的配置
@Data
@Component
@PropertySource(value = "classpath:application.yml")
public class MasterByDefaultYml {
    @Value("${master.name}")
    private String name;
    @Value("${master.sex}")
    private String sex;
    @Value("${master.subject}")
    private String subject;
}

1.4 多个配置文件中相同属性的读取

读取方式跟上边一样,但是重名的属性,则根据优先级,优先级高的覆盖低的;

生效的主配置>生效的副配置
properties>yml

# 生效的application-local.yml>application.properties
2019-06-11 16:43:16.414  INFO 5490 --- [main] com.wxx.modules.st.StApplication : The following profiles are active: local

配置方式优先级:

a. 命令行参数
b. 来自java:comp/env的JNDI属性
c. Java系统属性(System.getProperties())
d. 操作系统环境变量
e. RandomValuePropertySource配置的random.*属性值
f. jar外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
g. jar内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
h. jar外部的application.properties或application.yml(不带spring.profile)配置文件
i. jar内部的application.properties或application.yml(不带spring.profile)配置文件
j. @Configuration注解类上的@PropertySource
k. 通过SpringApplication.setDefaultProperties指定的默认属性
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值