@value和@configurationproperties的區別

一:兩者區別

  @ConfigurationProperties @Value
功能上 批量注入配置文件中的屬性 一個個指定
鬆散綁定(鬆散語法) 支持(lastName和last-name都可以) 不支持
SpEL 不支持 支持
JSR303數據校驗 支持 不支持
複雜類型封裝 支持 不支持

配置文件不管是yml還是properties他們都能獲取到值

如果說,我們只是在某個業務邏輯中獲取配置文件的某個值,使用@Value

如果說,我們專門編寫一個JavaBean來配置文件進行映射,就使用@ConfigurationProperties

二:配置文件注入值數據校驗

@ConfigurationProperties(prefix = "person")
@Component
@Validated
public class Person {
    @Email
    //@Value("${person.lastName}")
    private  String lastName;
   // @Value("#{22*3}")
    private  Integer age;
   // @Value("true")
    private String boss;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章