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

Spring最核心的注解@Bean本質(zhì)用法及說明

 更新時(shí)間:2026年05月13日 09:45:15   作者:tuokuac  
文章解釋了`@Bean`注解的本質(zhì)以及如何在Spring中使用它來管理Bean, `Bean`注解告訴Spring執(zhí)行該方法并把返回值作為Bean進(jìn)行容器管理, 春看到`@Bean`會自動調(diào)用方法獲取返回值,將返回的對象放進(jìn)容器中管理, 通過這種方式,其他類可以直接注入使用這些Bean.

Spring 最核心的注解@Bean本質(zhì)

直接給你一句話戳穿本質(zhì),馬上徹底懂

答案:

這個(gè)方法本身不是 Bean,方法執(zhí)行后返回的對象才是 Bean!

Spring 會把這個(gè)返回的對象放進(jìn)容器里管理!

用最通俗的話講@Bean原理

看這段代碼:

@Configuration // 配置類
public class MesaageConfig {

    // 加了 @Bean 的方法
    @Bean
    public MessageConverter messageConverter() {
        // 1. 自己 new 對象
        Jackson2JsonMessageConverter converter = new Jackson2JsonMessageConverter();
        // 2. 自己配置對象
        converter.setCreateMessageIds(true);
        // 3. 返回對象
        return converter; 
    }
}

Spring 看到@Bean會做什么?

Spring 會自動調(diào)用這個(gè)方法,拿到返回值,然后:

  • 把返回的對象放進(jìn) Spring 容器
  • 給這個(gè) Bean 起名 = 方法名 messageConverter
  • 以后別人想用,直接注入就行

總結(jié):

@Bean = 告訴 Spring:執(zhí)行我這個(gè)方法,把返回的對象給我當(dāng)成 Bean 管理!

  • 方法 = 造 Bean 的工廠
  • 返回值 = 真正的 Bean

問:它不是方法嗎?怎么成 Bean 了?

畫個(gè)等號你就懂了:

@Bean
public 消息 造消息的方法() {
    造一個(gè)消息...
    return 消息; // Spring 拿走這個(gè)「消息」當(dāng) Bean
}
  • 方法:只是生產(chǎn) Bean 的流水線
  • 返回的對象:才是商品(Bean)
  • @Bean:就是貼在流水線上的標(biāo)簽,告訴 Spring 來拿貨

這個(gè) Bean 怎么用?

其他類里直接注入就能用:

@Service
public class MessageService {

    // 直接注入!Spring 自動把上面方法返回的對象給你
    @Autowired
    private MessageConverter messageConverter;
}

@Bean和 類注解(@Service/@Component)區(qū)別

方式注解適用場景
自己寫的類@Service @Component類是你寫的,直接加注解
別人寫的類(Jackson、RabbitTemplate…)@Bean類不是你寫的,你需要new 出來 + 配置,交給 Spring

你的場景:

Jackson2JsonMessageConverter別人寫的類,你需要:

  • new 出來
  • 配置 setCreateMessageIds(true)
  • 交給 Spring

→ 必須用 @Bean

終極總結(jié)(背下來)

  • 加了 @Bean 的方法 = Spring 會自動調(diào)用
  • 方法的返回值 = 放進(jìn)容器的 Bean 對象
  • 方法名 = Bean 的名字
  • 別人可以直接注入使用

最直白的一句:

你寫的是方法,但 Spring 要的是你方法 return 出來的那個(gè)對象!

再給你對應(yīng)一下:

  • @Configuration:造 Bean 的工廠類
  • @Bean:工廠里的加工方法
  • return xxx:加工好的產(chǎn)品 → Bean

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring中的聲明式事務(wù)控制詳解

    Spring中的聲明式事務(wù)控制詳解

    這篇文章主要介紹了Spring中的聲明式事務(wù)控制詳解,Spring的聲明式事務(wù)顧名思義就是采用聲明的方式來處理事務(wù),這里所說的聲明,就是指在配置文件中聲明,用在Spring配置文件中聲明式的事務(wù)處理來代替代碼是的處理事務(wù),需要的朋友可以參考下
    2024-01-01
  • Vue計(jì)算屬性computed和監(jiān)聽屬性watch的使用解讀

    Vue計(jì)算屬性computed和監(jiān)聽屬性watch的使用解讀

    本文介紹了Vue.js中的計(jì)算屬性(computed)和監(jiān)聽屬性(watch)的區(qū)別和使用場景,計(jì)算屬性是基于依賴緩存的,只有在相關(guān)依賴發(fā)生改變時(shí)才會重新求值,適合用于簡單的數(shù)據(jù)處理和計(jì)算,而監(jiān)聽屬性則用于監(jiān)聽數(shù)據(jù)變化時(shí)執(zhí)行異步或開銷較大的操作,適合用于處理復(fù)雜的數(shù)據(jù)邏輯
    2025-12-12
  • 最新hadoop安裝教程及hadoop的命令使用(親測可用)

    最新hadoop安裝教程及hadoop的命令使用(親測可用)

    這篇文章主要介紹了最新hadoop安裝教程(親測可用),本文主要講解了如何安裝hadoop、使用hadoop的命令及遇到的問題解決,需要的朋友可以參考下
    2022-06-06
  • SpringBoot-JWT生成Token和攔截器的使用(訪問受限資源)

    SpringBoot-JWT生成Token和攔截器的使用(訪問受限資源)

    本文主要介紹了SpringBoot-JWT生成Token和攔截器的使用(訪問受限資源),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Java學(xué)習(xí)之緩沖流的原理詳解

    Java學(xué)習(xí)之緩沖流的原理詳解

    為了提高其數(shù)據(jù)的讀寫效率,Java中又定義了四種緩沖流,分別是:字節(jié)緩沖輸入流、字節(jié)緩沖輸出流、字符緩沖輸入流和字符緩沖輸出流。本文主要來和大家聊聊這些緩沖流的原理,希望對大家有所幫助
    2023-01-01
  • 從入門到精通:Java List遍歷修改的完全指南

    從入門到精通:Java List遍歷修改的完全指南

    在Java中,我們經(jīng)常需要遍歷List集合并對其中的元素進(jìn)行修改,這可以通過使用迭代器或for循環(huán)來實(shí)現(xiàn),需要的朋友可以參考下
    2023-10-10
  • Java實(shí)現(xiàn)生成自定義時(shí)長的靜音音頻

    Java實(shí)現(xiàn)生成自定義時(shí)長的靜音音頻

    這篇文章主要介紹了如何通過Java實(shí)現(xiàn)一個(gè)音頻工具類,可以實(shí)現(xiàn)生成一段自定義時(shí)長(精確到毫秒)的wav音頻。感興趣的小伙伴可以了解一下
    2022-01-01
  • spring狀態(tài)機(jī)模式使用小結(jié)

    spring狀態(tài)機(jī)模式使用小結(jié)

    說起Spring狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒錯(cuò),Spring狀態(tài)機(jī)就是狀態(tài)模式的一種實(shí)現(xiàn),在介紹Spring狀態(tài)機(jī)之前,讓我們來看看設(shè)計(jì)模式中的狀態(tài)模式,需要的朋友可以參考下
    2024-04-04
  • Java中的Cursor使用詳解

    Java中的Cursor使用詳解

    本文介紹了Java中的Cursor接口及其在大數(shù)據(jù)集處理中的優(yōu)勢,包括逐行讀取、分頁處理、流控制、動態(tài)改變查詢、并發(fā)控制和減少網(wǎng)絡(luò)流量等,感興趣的朋友一起看看吧
    2025-02-02
  • Elasticsearch索引結(jié)構(gòu)與算法解析

    Elasticsearch索引結(jié)構(gòu)與算法解析

    ?作為搜索引擎的一部分,ES自然具有速度快、結(jié)果準(zhǔn)確、結(jié)果豐富等特點(diǎn),那么ES是如何達(dá)到“搜索引擎”級別的查詢效率呢?首先是索引,其次是壓縮算法,接下來我們就一起了解下ES的索引結(jié)構(gòu)和壓縮算法
    2023-04-04

最新評論

金山区| 潮州市| 昭苏县| 平安县| 宁远县| 安平县| 台前县| 达孜县| 顺昌县| 彰化县| 抚松县| 壶关县| 五家渠市| 宜丰县| 广水市| 光山县| 太湖县| 手游| 周至县| 保亭| 叙永县| 东安县| 桐庐县| 锡林浩特市| 大英县| 南漳县| 手机| 思茅市| 梅州市| 全椒县| 西吉县| 习水县| 茌平县| 扎赉特旗| 民丰县| 余江县| 河西区| 阿瓦提县| 磐安县| 吴堡县| 东乌珠穆沁旗|