一般使用如下:
@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
激活如下:
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中相同的配置。)
如:
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