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

[SpringBoot] 運行結(jié)果

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

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

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

總結(jié):
[ 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)用結(jié)果

總結(jié):
多個實現(xiàn)類可以使用@Resorce 按名字查找
思考
字段注入上 @Autowired 或者 @Resorce 真的不會很冗余嗎?
或許我們應該拋棄字段注入多寫一些注釋在字段上面,讓后來者知道為什么要注入某類去做某事。
最后
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中system.exit(0) 和 system.exit(1)區(qū)別
本文主要介紹了Java中system.exit(0) 和 system.exit(1)區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05
Java Map如何根據(jù)key取value以及不指定key取出所有的value
這篇文章主要介紹了Java Map如何根據(jù)key取value以及不指定key取出所有的value,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09
Java基于Luhn算法實現(xiàn)銀行卡卡號格式校驗詳解
在金融行業(yè),特別是涉及到銀行卡處理的場景中,確保銀行卡號的有效性是至關(guān)重要的,本文將詳細介紹如何使用Java實現(xiàn)基于Luhn算法的銀行卡卡號格式校驗,有需要的可以了解下2026-01-01
用Rational Rose逆向工程(java)生成類圖(教程和錯誤解決)
Rational Rose有個很方便的功能,將項目中的JAVA代碼自動轉(zhuǎn)換成UML類圖2013-02-02

