最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring中@Configuration和@Bean注解的用法

 更新時(shí)間:2023年05月12日 08:40:59   作者:wangjun5159  
這篇文章主要介紹了spring中@Configuration和@Bean注解的用法,@Configuration用于定義配置類,可替換xml配置文件,被注解的類內(nèi)部包含有一個(gè)或多個(gè)被@Bean注解的方法,需要的朋友可以參考下

概要

@Configuration里邊定義@Bean,@Configuration相當(dāng)于一個(gè)xml配置文件,@Bean就是xml中的<bean/>

定義

bean依賴可以調(diào)用方法,比如這里的beanTwo()。你可能會好奇,如果beanTwo()被調(diào)用兩次會不會創(chuàng)建兩個(gè)beanTwo實(shí)例,因?yàn)閟pring bean的默認(rèn)scope是單例;答案是不會創(chuàng)建多個(gè)實(shí)例的,@Configuration類實(shí)現(xiàn)原理是cglib,代理類繼承了配置類,然后重寫方法,從而實(shí)現(xiàn)攔截,這也是為什么配置類不能被final修飾。

@Configuration
public class AppConfig {
    @Bean
    public BeanOne beanOne() {
       //bean依賴,直接調(diào)用本類方法beanTwo
        return new BeanOne(beanTwo());
    }
    @Bean
    public BeanTwo beanTwo() {
        return new BeanTwo();
    }
}

如果跨@Configuration怎么辦?將依賴bean當(dāng)做方法參數(shù)傳遞,無論是否同一個(gè)類都可以使用這種方式,實(shí)踐中這種用法更實(shí)用。

@Configuration
public class AppConfig1 {
    //bean依賴,方法參數(shù)當(dāng)作依賴
    @Bean
    public BeanOne beanOne(BeanTwo  beanTwo) {
        return new BeanOne(beanTwo);
    }
}
@Configuration
public class AppConfig2 {
    @Bean
    public BeanTwo beanTwo() {
        return new BeanTwo();
    }
}

注意

如果@Bean方法返回的是BeanPostProcessor,方法要用static修飾,否則可能造成@Configuration中的@AutoWired、@Inject沒被注入,因?yàn)楹苡锌赡蹵utoWiredBeanPostProcessor在@Configuration實(shí)例化之后執(zhí)行。這是為什么呢? 這是因?yàn)閟tatic方法的BeanPostProcessor實(shí)例化時(shí),不需要實(shí)例化@Configuration類,相當(dāng)于執(zhí)行ConfigurationClass.staticMethod(); 而非static方法,依賴@Configuration類實(shí)例,相當(dāng)于new ConfigurationClass().notStaticMethod();

到此這篇關(guān)于spring中@Configuration和@Bean注解的用法的文章就介紹到這了,更多相關(guān)spring的@Configuration和@Bean內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用HttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法

    利用HttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄肏ttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • Spring入門到精通之Bean標(biāo)簽詳解

    Spring入門到精通之Bean標(biāo)簽詳解

    這篇文章主要為大家詳細(xì)介紹了Spring中Bean的標(biāo)簽,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Spring有一定的幫助,快跟隨小編一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 詳解Redis 緩存 + Spring 的集成示例

    詳解Redis 緩存 + Spring 的集成示例

    本篇文章主要介紹了Redis 緩存 + Spring 的集成示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java如何利用CompletableFuture描述任務(wù)之間的關(guān)系

    Java如何利用CompletableFuture描述任務(wù)之間的關(guān)系

    Java如何根據(jù)線程的執(zhí)行結(jié)果執(zhí)行下一步動作呢,F(xiàn)uture的另一個(gè)實(shí)現(xiàn)類CompletableFuture能夠優(yōu)雅的解決異步化問題,下面就跟隨小編一起了解一下吧
    2023-07-07
  • Mybatis傳遞多個(gè)參數(shù)的解決辦法(三種)

    Mybatis傳遞多個(gè)參數(shù)的解決辦法(三種)

    這篇文章主要介紹了Mybatis傳遞多個(gè)參數(shù)的解決辦法(三種),個(gè)人覺得第三種解決辦法比較好用,有需要的朋友一起學(xué)習(xí)吧
    2016-05-05
  • Spring?自定義propertyEditor的示例代碼

    Spring?自定義propertyEditor的示例代碼

    這篇文章主要介紹了Spring?自定義propertyEditor的示例代碼,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • java中使用POI生成Excel并導(dǎo)出過程

    java中使用POI生成Excel并導(dǎo)出過程

    這篇文章主要介紹了java中使用POI生成Excel并導(dǎo)出過程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Spring實(shí)現(xiàn)上拉刷新和下拉加載效果

    Spring實(shí)現(xiàn)上拉刷新和下拉加載效果

    這篇文章主要為大家詳細(xì)介紹了Spring實(shí)現(xiàn)上拉刷新和下拉加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • JavaScript中的Map用法完全指南

    JavaScript中的Map用法完全指南

    這篇文章主要介紹了JavaScript中Map用法的相關(guān)資料,通過實(shí)例講解了Map的創(chuàng)建、常用方法和迭代方式,還探討了Map與對象的區(qū)別,并通過一個(gè)例子展示了如何使用Map來統(tǒng)計(jì)字符出現(xiàn)的次數(shù),需要的朋友可以參考下
    2025-03-03
  • eclipse啟動tomcat無法訪問的解決方法

    eclipse啟動tomcat無法訪問的解決方法

    這篇文章介紹了eclipse啟動tomcat無法訪問的解決方法,有需要的朋友可以參考一下
    2013-10-10

最新評論

涿州市| 赫章县| 福建省| 共和县| 哈巴河县| 英吉沙县| 理塘县| 桦川县| 沅江市| 阿巴嘎旗| 灵台县| 南和县| 黎川县| 翁源县| 平昌县| 台江县| 承德县| 工布江达县| 太康县| 天水市| 长泰县| 舒兰市| 绥棱县| 景德镇市| 鹤岗市| 顺平县| 凭祥市| 万荣县| 陆丰市| 新乐市| 双峰县| 阿克苏市| 永年县| 惠安县| 织金县| 乐昌市| 六枝特区| 苏尼特左旗| 德保县| 县级市| 滦南县|