Spring Boot配置文件生效相关问题

SpringBoot使用一个全局的配置文件,配置文件名是固定的:

application.properties 与 application.yml

 

一、properties配置文件

1、@PropertySource注解只支持properties文件,而不支持yml文件。

2、@PropertySource里的冒号左右都没有空格

一般使用如下:

@ConfigurationProperties 与 @Value 可以配合使用

@Data
@Configuration
@PropertySource("classpath:sunshinett.properties")
@ConfigurationProperties(prefix = "sunshine")
public class AaConfig {
    @Value("${sunshine.test}")
    private String iq;
    private String hq;
}

sunshinett.properties文件: 

sunshine.test = pig
sunshine.hq = zero

二、yml配置文件

1、除application.yml外,自定义的yml文件命名必须以   application-   开头,并注意激活。

激活如下:

application.yml中

spring:
    profiles:
        active: api,api2
        include: api3,api4

或application.properties中

spring.profiles.active = api,api2
spring.profiles.include = api3,api4

active与include区别:active比include优先级高,active配置文件会覆盖与include配置文件中相同的配置。

相同的配置生效优先级:api2>api>api4>api3。

(active会将后面的配置文件的优先级提高,然后才是include的配置文件。

上面active中的例子表示激活了application-api.yml、 application-api2.yml文件,并且多个配置文件中相同的配置后面的配置会覆盖前面的配置,此处即api2会覆盖api中相同的配置。)

2、同一路径下同一等级下不能出现同名。

如:

spring:
    profiles:
        include: api
    profiles:
        active: api

或
spring:
    profiles:
        include: api
spring:
    profiles:
        active: api

都是不可的。

 

参考博客:

https://blog.csdn.net/qq_33524158/article/details/79600434

https://blog.csdn.net/happyblueice/article/details/86538843

https://blog.csdn.net/cw_hello1/article/details/79639448

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值