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

Spring創(chuàng)建Bean完成后執(zhí)行指定代碼的幾種實(shí)現(xiàn)方式

 更新時(shí)間:2024年01月30日 11:25:18   作者:無(wú)名_NoOne  
在實(shí)際開發(fā)中經(jīng)常會(huì)遇到在spring容器加載完某個(gè)bean之后,需要執(zhí)行一些業(yè)務(wù)代碼的場(chǎng)景,本文給大家介紹Spring創(chuàng)建Bean完成后執(zhí)行指定代碼的幾種實(shí)現(xiàn)方式,感興趣的朋友一起看看吧

Spring中Bean創(chuàng)建完成后執(zhí)行指定代碼的幾種實(shí)現(xiàn)方式

在實(shí)際開發(fā)中經(jīng)常會(huì)遇到在spring容器加載完某個(gè)bean之后,需要執(zhí)行一些業(yè)務(wù)代碼的場(chǎng)景。比如初始化配置、緩存等。有以下幾種方式可以實(shí)現(xiàn)此需求

1、 實(shí)現(xiàn)ApplicationListener接口

實(shí)現(xiàn)ApplicationListener接口并實(shí)現(xiàn)方法onApplicationEvent()方法,Bean在創(chuàng)建完成后會(huì)執(zhí)行onApplicationEvent方法

@Component
public class DoByApplicationListener implements ApplicationListener<ContextRefreshedEvent> {
    public DoByApplicationListener() {
        System.out.println("DoByApplicationListener constructor");
    }
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        if (event.getApplicationContext().getParent() == null) {
            System.out.println("DoByApplicationListener do something");
        }
    }
}

2、 實(shí)現(xiàn)InitializingBean接口

實(shí)現(xiàn)InitializingBean接口并實(shí)現(xiàn)方法afterPropertiesSet(),Bean在創(chuàng)建完成后會(huì)執(zhí)行afterPropertiesSet()方法

@Component
public class DoByInitializingBean implements InitializingBean {
    public DoByInitializingBean() {
        System.out.println("DoByInitializingBean constructor");
    }
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("InitByInitializingBean do something");
    }
}

3、 使用@PostConstruct注解

在Bean的某個(gè)方法上使用@PostConstruct注解,Bean在創(chuàng)建完成后會(huì)執(zhí)行該方法

@Component
public class DoByPostConstructAnnotation {
    public DoByPostConstructAnnotation() {
        System.out.println("DoByPostConstructAnnotation constructor");
    }
    @PostConstruct
    public void init(){
        System.out.println("InitByPostConstructAnnotation do something");
    }
}

轉(zhuǎn)載自:https://segmentfault.com/a/1190000019622443?utm_source=tag-newest

到此這篇關(guān)于Spring中Bean創(chuàng)建完成后執(zhí)行指定代碼的幾種實(shí)現(xiàn)方式的文章就介紹到這了,更多相關(guān)Spring Bean創(chuàng)建完成后執(zhí)行指定代碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Shell腳本實(shí)現(xiàn)SpringBoot項(xiàng)目自動(dòng)化部署到Docker的操作指南

    使用Shell腳本實(shí)現(xiàn)SpringBoot項(xiàng)目自動(dòng)化部署到Docker的操作指南

    在日常項(xiàng)目開發(fā)中,我們經(jīng)常會(huì)將SpringBoot項(xiàng)目打包并部署到服務(wù)器上的Docker環(huán)境中,為了提升效率、減少重復(fù)操作,我們可以通過(guò)Shell腳本實(shí)現(xiàn)自動(dòng)化部署,所以本文給大家介紹了使用Shell腳本實(shí)現(xiàn)SpringBoot項(xiàng)目自動(dòng)化部署到Docker的操作指南,需要的朋友可以參考下
    2025-05-05
  • Nacos Server部署配置全過(guò)程

    Nacos Server部署配置全過(guò)程

    本文介紹了Nacos的定義、核心功能(服務(wù)注冊(cè)、心跳、發(fā)現(xiàn)、健康檢查等)、單機(jī)和集群部署步驟,以及客戶端服務(wù)的搭建與配置,旨在幫助用戶快速了解和使用Nacos進(jìn)行服務(wù)治理和配置管理
    2025-10-10
  • Java調(diào)用打印機(jī)的2種方式舉例(無(wú)驅(qū)/有驅(qū))

    Java調(diào)用打印機(jī)的2種方式舉例(無(wú)驅(qū)/有驅(qū))

    我們平時(shí)使用某些軟件或者在超市購(gòu)物的時(shí)候都會(huì)發(fā)現(xiàn)可以使用打印機(jī)進(jìn)行打印,這篇文章主要給大家介紹了關(guān)于Java調(diào)用打印機(jī)的2種方式,分別是無(wú)驅(qū)/有驅(qū)的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • shade解決mybatis包沖突問題

    shade解決mybatis包沖突問題

    這篇文章主要介紹了shade解決mybatis包沖突問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理功能

    Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理功能

    Liquibase 是一個(gè)強(qiáng)大的數(shù)據(jù)庫(kù)管理工具,它幫助你通過(guò)自動(dòng)化管理數(shù)據(jù)庫(kù)的變更、版本控制、和回滾,簡(jiǎn)化了開發(fā)中的數(shù)據(jù)庫(kù)遷移工作,這篇文章主要介紹了Liquibase結(jié)合SpringBoot使用實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理,需要的朋友可以參考下
    2024-12-12
  • SpringBoot基于RabbitMQ實(shí)現(xiàn)消息可靠性的方法

    SpringBoot基于RabbitMQ實(shí)現(xiàn)消息可靠性的方法

    RabbitMQ 提供了 publisher confirm 機(jī)制來(lái)避免消息發(fā)送到 MQ 過(guò)程中丟失,這種機(jī)制必須給每個(gè)消息指定一個(gè)唯一ID,消息發(fā)送到MQ以后,會(huì)返回一個(gè)結(jié)果給發(fā)送者,表示消息是否處理成功,本文給大家介紹了SpringBoot基于RabbitMQ實(shí)現(xiàn)消息可靠性的方法,需要的朋友可以參考下
    2024-04-04
  • Java多線程的具體介紹與使用筆記小結(jié)

    Java多線程的具體介紹與使用筆記小結(jié)

    Java多線程詳細(xì)介紹線程是程序執(zhí)行的最小單元,多線程是指程序同一時(shí)間可以有多個(gè)執(zhí)行單元運(yùn)行(這個(gè)與你的CPU核心有關(guān))。 接下來(lái)通過(guò)本文給大家介紹Java多線程的具體介紹與使用筆記小結(jié),感興趣的朋友一起看看吧
    2021-05-05
  • Java邏輯運(yùn)算符短路求值的優(yōu)雅實(shí)踐指南

    Java邏輯運(yùn)算符短路求值的優(yōu)雅實(shí)踐指南

    本文探討了Java邏輯運(yùn)算符短路求值(Short-circuit?Evaluation)的巧妙應(yīng)用,通過(guò)一個(gè)用戶日志清理場(chǎng)景,展示了如何利用&&運(yùn)算符的特性優(yōu)化代碼,希望對(duì)大家有所幫助
    2026-05-05
  • Maven?Pom?文件中的隱式依賴導(dǎo)致Jar沖突問題

    Maven?Pom?文件中的隱式依賴導(dǎo)致Jar沖突問題

    這篇文章主要介紹了Maven?Pom?文件中的隱式依賴導(dǎo)致Jar沖突問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 詳解多線程及Runable 和Thread的區(qū)別

    詳解多線程及Runable 和Thread的區(qū)別

    這篇文章主要介紹了多線程及Runable 和Thread的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論

甘泉县| 桂平市| 扎赉特旗| 临沂市| 博野县| 青阳县| 馆陶县| 顺义区| 西乌| 新兴县| 宾川县| 黄梅县| 汶川县| 巩义市| 桓仁| 新建县| 麟游县| 博白县| 商都县| 蒙阴县| 绥宁县| 富蕴县| 青岛市| 普格县| 舞钢市| 当阳市| 乌苏市| 图片| 和顺县| 台北县| 平武县| 中方县| 石台县| 长治市| 汤原县| 遵化市| 道孚县| 永和县| 合山市| 句容市| 壤塘县|