SpringBoot中@Configuration和@Bean和@Component相同點(diǎn)詳解
SpringBoot中@Configuration和@Bean和@Component相同點(diǎn)
之前一直有疑惑,為什么SpringBoot中有些組件注入需要使用@Bean,有些需要使用@Component,有些使用@Configuration,今天做了一些實(shí)驗(yàn),解除了疑惑
結(jié)論:
@Configuration和@Bean和@Component在注入對(duì)象時(shí)大體上是沒有區(qū)別的,都可以為Spring容器注入一個(gè)對(duì)象(底層對(duì)對(duì)象的處理在是有很大區(qū)別的,詳細(xì)不在此處解釋)
那么他們之間
@Bean注解的作用
是將方法返回值作為一個(gè)bean注入到Spring容器中,方法名即為bean的名稱
如圖所示,該bean注入后的名稱就是方法名。
@Component的適用對(duì)象是類
標(biāo)注在類上,將此類作為一個(gè)bean注入容器,類名首字母小寫即為bean的名稱
比如該類標(biāo)注上@Component后,會(huì)為Spring容器注入一個(gè)名為myLocaleResolver的bean,但是我們需要的是名為localeResolver的bean,直接改名即可!
@Configuration包含@Component注解
所以兩者本質(zhì)相同!
比如:我們用三種方式為Spring注入國(guó)際化bean
我們既可以使用@Bean注解返回一個(gè)對(duì)象
也可以將@Component注解標(biāo)注在類上
也可以使用@Configuration注解標(biāo)注,三者效果相同!
注意:
雖然三種注解使用大體相同,但是還是需要分時(shí)而定配置類使用@Configuration,普通組件使用@Component即可,如果是第三方類,我們無(wú)法修改類的信息,使用@Bean將對(duì)象返回給Spring容器是最好的選擇!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot項(xiàng)目實(shí)現(xiàn)將類從@ComponentScan中排除
這篇文章主要介紹了Springboot項(xiàng)目實(shí)現(xiàn)將類從@ComponentScan中排除,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11使用SpringBoot中web項(xiàng)目推薦目錄結(jié)構(gòu)的問(wèn)題
這篇文章主要介紹了SpringBoot中web項(xiàng)目推薦目錄結(jié)構(gòu)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01SpringMVC中使用bean來(lái)接收f(shuō)orm表單提交的參數(shù)時(shí)的注意點(diǎn)
本篇文章主要介紹了SpringMVC中使用bean來(lái)接收f(shuō)orm表單提交的參數(shù)時(shí)的注意點(diǎn),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05SpringBoot工程Docker多環(huán)境中使用同一個(gè)Jar包解決方案
在Docker多環(huán)境部署中,SpringBoot工程可以通過(guò)環(huán)境變量來(lái)動(dòng)態(tài)改變配置,無(wú)需重新打包,利用volume掛載或docker?cp命令,可以將配置文件直接傳入容器,提高部署效率,并保證安全性2024-09-09IDEA使用學(xué)生郵箱無(wú)法注冊(cè)問(wèn)題:JetBrains Account connection error: 拒絕連接
這篇文章主要介紹了IDEA使用學(xué)生郵箱無(wú)法注冊(cè)問(wèn)題:JetBrains Account connection error: 拒絕連接,文中通過(guò)圖文及示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07java隨機(jī)驗(yàn)證碼生成實(shí)現(xiàn)實(shí)例代碼
這篇文章主要介紹了java隨機(jī)驗(yàn)證碼生成實(shí)現(xiàn)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05SpringBoot項(xiàng)目運(yùn)行jar包啟動(dòng)的步驟流程解析
這篇文章主要介紹了SpringBoot項(xiàng)目運(yùn)行jar包啟動(dòng)的步驟流程,本文分步驟通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-07-07淺談spring中用到的設(shè)計(jì)模式及應(yīng)用場(chǎng)景
下面小編就為大家?guī)?lái)一篇淺談spring中用到的設(shè)計(jì)模式及應(yīng)用場(chǎng)景。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08