无论是通过YAML配置还是Properties配置,最终都会被加载到Spring Environment中。Spring提供了@Value注解以及EnvironmentAware接口来配置Spring Environment中的数据注入到属性上,Spring boot则进一步的提出了类型安全配置属性(Type-safe Configuration Properties),这样即使在数据量非常庞大的情况下,也可以更加方便的将配置文件的数据注入到Bean中。
例如:
book.name=三国演义
book.author=罗贯中
book.price=30
将数据注入到Bean中:
@Component
@COnfigurationProperties(perfix="book")
public class Book {
private String name;
private String author;
private Float Pricel
//省略getter/setter
}
@ConfigurationProperties(perfix=“book”)用来指定属性的前缀。
Spring boot采用一种宽松的规则来进行属性配置,如果Bean中的属性命名为authorName,name配置文件中的属性可以为:book.author_name、book.author-name、book.authorName或则book.AUTHORNAME。
-end-