SpringBoot中@Configuration和@Bean和@Component相同點詳解
SpringBoot中@Configuration和@Bean和@Component相同點
之前一直有疑惑,為什么SpringBoot中有些組件注入需要使用@Bean,有些需要使用@Component,有些使用@Configuration,今天做了一些實驗,解除了疑惑
結論:
@Configuration和@Bean和@Component在注入對象時大體上是沒有區(qū)別的,都可以為Spring容器注入一個對象(底層對對象的處理在是有很大區(qū)別的,詳細不在此處解釋)
那么他們之間
@Bean注解的作用
是將方法返回值作為一個bean注入到Spring容器中,方法名即為bean的名稱
如圖所示,該bean注入后的名稱就是方法名。
@Component的適用對象是類
標注在類上,將此類作為一個bean注入容器,類名首字母小寫即為bean的名稱
比如該類標注上@Component后,會為Spring容器注入一個名為myLocaleResolver的bean,但是我們需要的是名為localeResolver的bean,直接改名即可!
@Configuration包含@Component注解
所以兩者本質相同!
比如:我們用三種方式為Spring注入國際化bean
我們既可以使用@Bean注解返回一個對象
也可以將@Component注解標注在類上
也可以使用@Configuration注解標注,三者效果相同!
注意:
雖然三種注解使用大體相同,但是還是需要分時而定配置類使用@Configuration,普通組件使用@Component即可,如果是第三方類,我們無法修改類的信息,使用@Bean將對象返回給Spring容器是最好的選擇!
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Spring解讀@Component和@Configuration的區(qū)別以及源碼分析
- Spring中@Configuration和@Component注解的區(qū)別及原理
- Spring中@Configuration注解和@Component注解的區(qū)別詳解
- 詳解Spring中@Component和@Configuration的區(qū)別
- Spring注解@Configuration和@Component區(qū)別詳解
- Spring注解中@Configuration和@Component到底有啥區(qū)別
- Spring @Configuration和@Component的區(qū)別
- 揭秘Spring核心注解@Configuration與@Component的本質區(qū)別
相關文章
ApplicationListenerDetector監(jiān)聽器判斷demo
這篇文章主要為大家介紹了ApplicationListenerDetector監(jiān)聽器判斷demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03SpringBoot訪問web中的靜態(tài)資源的方式小結
這篇文章主要介紹了SpringBoot訪問web中的靜態(tài)資源的方式,本文給大家介紹了兩種方式,通過代碼示例和圖文講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-10-10