@Value屬性配置 以及 spring boot1.5以上版本@ConfigurationProperties取消location注解后的替代方案


Spring Boot 入門屬性配置。

@Value的配置

在這里我是先在application.properties里寫的值(此處后面就出現坑)

           

       

中文設置:

           

新建個book實體類  (省略set...get..)

             在Spring Boot里注入properties里的值很簡單,只需要通過@Value即可

            

     接着是在controller里寫方法

             通過spring里的@Autowired自動注入

 

           

 

 在網頁上訪問:

           

 

 

--------------------------------------------------------------------------  此處分界    -------------------------------------------------------------------------------------------------

在實際項目中要注入的變量的值太多了,這時候需要用基於安全類型的配置方式,即將properties屬性和bean關聯在一起,這樣用起來會方便。

新建個book.properties,在里面配置

       

 

新建個BookBean實體類,這里本來是打算用@ConfigurationPropeties注解里的prefix 和location 來設置的,然后發現SpringBoot 1.5版本的@ConfigurationPropeties已經取消了location,無奈換了 一種寫法。

       @ PropertySouce   指定綁定哪個資源文件,【如果要綁定自定義的資源文件中的值的話,是可以用上的】 ,注意:它會默認自動綁定application.properties!!!!

                                     此處我就犯了個錯,我在做@value時,在application.properties里寫了 book的配置。這導致了多次綁定,出現覆蓋的問題。

     @ConfigurationProperties指定綁定資源文件中前綴以book開頭的屬性名,其他的不會綁定進來。

    

 

 在啟動類中寫上@EnableConfigurationProperties(BookBean.class)   激活綁定的bean

         

 

最后就是寫控制類,寫法都一樣,不贅述。

 

最后的最后就是一定要記得不是通用的屬性配置不要寫在application.properties里去!

否則就會這樣

 

而正確的應該是這樣:

 

看到區別了沒?出現了屬性值覆蓋的問題了。。。

 

 

                                                                                                                             紙上得來終覺淺····················

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM