SpringBoot中的自動注入方式
字段注入在spring 3.0 已經(jīng)被官方列入為不推薦使用
項目集成:Lombok、Spring Boot
方式一:使用 [ Lombok ]的[ @RequiredArgsConstructor ]進行構造器注入
@RequiredArgsConstructor

[SpringBoot] 運行結果

注意事項 !! 該注解只會對 [final] 修飾符的字段進行注入
以下是編譯以后的 .java 代碼,可以看到注解幫我們生成了一個構造器,并且spring 會為構造器自動注入

總結:
final 修飾符的字段使用 lombok 可以幫助生成構造器,spring 會為構造器所有的屬性注入
方式二:使用 [ Lombok ] 的 [ @Setter ] 進行注入
使用注解在生成 se方法的時候添加注入注解
@Setter(onMethod = @__(@Autowired))

注意事項 !! 不會對 [ final ] 修飾符的字段生成方法
反編譯后代碼

總結:
[ Lombok ] 的 [ @Setter ] 注解可以指定在生成時加入指定注解
方式三:使用 [ Lombok ] 的 [ @Setter ] 注解按字段名字注入
1、準備一個 OK 接口和兩個實現(xiàn)類
OK 接口

實現(xiàn)類 1

實現(xiàn)類 2

調(diào)用者
@Autowired 替換為 @Resource
1、@Autowired 是按照類型查找
2、@Resource 先是按Bean名字查找,如果Bean沒有名字則使用字段名字 (即變量名) 查找,都沒有找到的話會按類型查找

調(diào)用結果

總結:
多個實現(xiàn)類可以使用@Resorce 按名字查找
思考
字段注入上 @Autowired 或者 @Resorce 真的不會很冗余嗎?
或許我們應該拋棄字段注入多寫一些注釋在字段上面,讓后來者知道為什么要注入某類去做某事。
最后
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring?Boot中使用Swagger3.0.0版本構建RESTful?APIs的方法
Swagger?是一個規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化?RESTful?風格的?Web?服務,這篇文章主要介紹了Spring?Boot中使用Swagger3.0.0版本構建RESTful?APIs的方法,需要的朋友可以參考下2022-11-11
java之使用多線程代替for循環(huán)(解決主線程提前結束問題)
這篇文章主要介紹了java之使用多線程代替for循環(huán)(解決主線程提前結束問題),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03

