欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring注解中@Autowired和@Bean的區(qū)別詳解

 更新時間:2023年06月16日 09:48:06   作者:南猿北轍  
這篇文章主要詳細介紹了Spring注解中@Autowired和@Bean二者有什么區(qū)別,文中通過兩個注解的使用場景介紹了二者的區(qū)別,感興趣的同學可以參考閱讀

先了解下這兩個注解各自的使用場景,咱就知道兩者的區(qū)別了。

1,@Autowired

@Autowired 注釋,它可以對類成員變量、方法及構造函數(shù)進行標注,完成自動裝配的工作。 通過 @Autowired的使用來消除 set ,get方法。在此之前,我們對bean配置屬性時,是這么用的

<property name="屬性名" value=" 屬性值"/>   

通過這種方式來,配置比較繁瑣,而且代碼比較多。在Spring 2.5 引入了 @Autowired 注釋

使用@Autowired的原理:

其實在啟動spring IOC時,容器自動裝載了一個AutowiredAnnotationBeanPostProcessor后置處理器,當容器掃描到@Autowied、@Resource(是CommonAnnotationBeanPostProcessor后置處理器處理的)或@Inject時,就會在IoC容器自動查找需要的bean,并裝配給該對象的屬性

2,@Bean

@Bean是一個方法級別上的注解,主要用在@Configuration注解的類里,也可以用在@Component注解(@Controller,@Service,@Repository)的類里。添加的bean的id為方法名@Bean注解是Spring從3.0版本開始引入的

spring的@Bean注解用于告訴方法,產生一個Bean對象,然后這個Bean對象交給Spring管理。產生這個Bean對象的方法Spring只會調用一次,隨后這個Spring將會將這個Bean對象放在自己的IOC容器中。

實例:

@Configuration
public class AppConfig {
   @Bean
   public UserService userService() {
        return new UserServiceImpl();
   }
}

等同于以下XML配置:

<beans>
        <bean id="userService" class="com.acme.UserServiceImpl"/>
</beans>

兩者區(qū)別

@Autowired 可修飾變量和方法,用于完成自動裝配(將需要的外部資源注入),自動裝配的前提你要先有才能裝配(該資源需要存在于IOC容器中),直接引用資源就行。

@Bean 修飾的方法表示初始化一個對象并交由Spring IOC去管理,@Bean 只能和@Component @Repository @Controller @Service @Configration 配合使用。

到此這篇關于Spring注解中@Autowired和@Bean的區(qū)別詳解的文章就介紹到這了,更多相關@Autowired和@Bean的區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解如何使用SpringBoot實現(xiàn)下載JSON文件

    詳解如何使用SpringBoot實現(xiàn)下載JSON文件

    在?Spring?Boot?中實現(xiàn)文件下載功能,可以通過將?JSON?字符串作為文件內容返回給客戶端從而實現(xiàn)JSON文件下載效果,下面我們就來看看具體操作吧
    2025-02-02
  • 使用Spring自定義實現(xiàn)IOC和依賴注入(注解方式)

    使用Spring自定義實現(xiàn)IOC和依賴注入(注解方式)

    這篇文章主要介紹了使用Spring自定義實現(xiàn)IOC和依賴注入(注解方式),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • JavaSE中比較器、深拷貝淺拷貝舉例詳解

    JavaSE中比較器、深拷貝淺拷貝舉例詳解

    在Java中一切都可以視為對象,在Java中我們經常使用引用去操作對象,下面這篇文章主要給大家介紹了關于JavaSE中比較器、深拷貝淺拷貝的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • 基于IntBuffer類的基本用法(詳解)

    基于IntBuffer類的基本用法(詳解)

    下面小編就為大家?guī)硪黄贗ntBuffer類的基本用法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringBoot自動配置特點與原理詳細分析

    SpringBoot自動配置特點與原理詳細分析

    這篇文章主要介紹了SpringBoot自動配置原理分析,SpringBoot是我們經常使用的框架,那么你能不能針對SpringBoot實現(xiàn)自動配置做一個詳細的介紹。如果可以的話,能不能畫一下實現(xiàn)自動配置的流程圖。牽扯到哪些關鍵類,以及哪些關鍵點
    2022-08-08
  • Spring AOP日志框架實現(xiàn)過程圖解

    Spring AOP日志框架實現(xiàn)過程圖解

    這篇文章主要介紹了Spring AOP日志框架實現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java設計模式之java外觀模式詳解

    Java設計模式之java外觀模式詳解

    這篇文章主要介紹了Java設計模式之外觀模式(Facade模式)介紹,外觀模式(Facade)的定義:為子系統(tǒng)中的一組接口提供一個一致的界面,需要的朋友可以參考下
    2021-09-09
  • 詳解在Java中如何優(yōu)雅的停止線程

    詳解在Java中如何優(yōu)雅的停止線程

    線程,作為并發(fā)編程的基礎單元,允許程序同時執(zhí)行多個任務,在Java中,線程可以理解為程序中的獨立執(zhí)行路徑,通過使用線程,開發(fā)者可以創(chuàng)建更加響應靈敏、效率更高的應用程序,本文小編將給大家介紹一下Java中如何優(yōu)雅的停止線程,需要的朋友可以參考下
    2023-11-11
  • Springboot輕量級的監(jiān)控組件SpringbootAdmin

    Springboot輕量級的監(jiān)控組件SpringbootAdmin

    這篇文章主要為大家介紹了Springboot輕量級的監(jiān)控組件SpringbootAdmin使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • BeanUtils.copyProperties()拷貝id屬性失敗的原因及解決

    BeanUtils.copyProperties()拷貝id屬性失敗的原因及解決

    這篇文章主要介紹了BeanUtils.copyProperties()拷貝id屬性失敗的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論