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里去!
否則就會這樣
而正確的應該是這樣:
看到區別了沒?出現了屬性值覆蓋的問題了。。。
紙上得來終覺淺····················