spring容器支持多種注入方式,在工作中運用的場景也特別的多,我們需要清楚一點,spring的本質就是容器,通過spring可以很好的實現類的調用方和被調用方直接的解耦,同時把類的創建和銷毀交接給spring進行管理,不過我們也會經常遇到一些需求變更,比如你需要利用ftp上傳文件,文件路徑暫時不明確,如果把文件路徑,用戶名,端口這些配置信息,寫死在代碼里面也不合適,如果有變更,只能通過改代碼和發版本來解決,所以放置在yml文件上是一個很不錯的選擇,如果需要變更配置,直接在外部的yml上面修改信息,然后重啟jar包即可
下面總結一下常用的一些方法
首先我們需要在yml文件里面配置一些響應的properties信息
1.@Value注解
在Controller層直接使用@Value方法,觀察一下屬性是否成功注入
通過斷點可以觀察到,屬性已經通過@Value注入到Controller層。
注意:@Value里面的value值的層級關系和名稱必須和yml里面的保持一致
2.@ConfigurationProperties注解:
把屬性都封裝到一個bean里面,通過@Component注解交給spring管理,代碼如下
這里面有一點需要注意一下,就是prefix就是yml的配置信息的頭部,之前寫成小駝峰ftpConfig在@value注解使用沒有問題,但是在這里prefix也用小駝峰是會報錯的,會出現下面這個信息,所以我把他修改了一下名稱。
通過斷點我們一樣可以看到屬性已經注入到Controller層
以上是對yml注入的兩種解決方案,因為工作中用到了,在這里mark一下