Spring Boot 1.4之后取消了 ConfigurationProperties 的 locations 属性,无法指定属性资源的位置。
两种替代方案
第一种:
使用 @Component 注册为组件,然后使用 @PropertySource 指定资源位置。
@Component
@ConfigurationProperties(prefix = "book")
@PropertySource(value={"classpath:book.properties"})
public class Book {}
缺点:只能使用 application.properties,不能使用 application.yml
第二种:
新建 application-book.yml 文件,然后在 application.yml 中开启该属性文件
spring:
profiles:
active: book
***缺点:要按 SpringBoot 的规定的格式配置,即 application-XXX.yml ***