SpringBoot 在初始化之后執(zhí)行某項(xiàng)操作的方法

本次使用Spring Boot 版本 1.5.9

1 使用@PostConstruct

在任意方法上加入@PostConstruct,例如

@PostConstruct
public void init(){
// do something
}

2 使用Bean注入初始化方法

這種方法需要一個(gè)配置類,也就是加上了@Configuration注解
在返回某個(gè)類的方法上加入@Bean注解進(jìn)行注入,其參數(shù)需帶有initMethod,其值為想要執(zhí)行初始化方法的名稱,配置類例如

@Configuration
public class Config {

    @Bean(initMethod = "initMethod")
    public InitTest initTest() {
        return new InitTest();
    }
}

實(shí)際使用的類例如

public class InitTest{
    public void initMethod(){
    // do something
    }
}

3 使用接口InitializingBean

該接口的定義如下

public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}

通過(guò)實(shí)現(xiàn)這個(gè)接口的afterPropertiesSet方法,來(lái)完成初始化操作,例如

public class InitTestInterface implements InitializingBean {

    @Override
    public void afterPropertiesSet() throws Exception {
    // do something
    }
}

Spring Bean初始化執(zhí)行順序

構(gòu)造方法 --> @PostConstruct --> InitializingBean接口 --> @Bean 注入的init-method

在大型系統(tǒng)里千萬(wàn)要注意順序

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn) Spring****基于 Annotation 的簡(jiǎn)單介紹 2011年03月29日 15:07:00 閱讀數(shù):...
    fd649cf896c0閱讀 377評(píng)論 1 0
  • 參考W3C Spring教程 Spring致力于J2EE應(yīng)用的各種解決方案,而不僅僅專注于某一層解決方案??梢哉f(shuō)S...
    王偵閱讀 1,234評(píng)論 0 6
  • IoC 容器 Bean 的作用域 自定義作用域?qū)崿F(xiàn) org.springframework.beans.facto...
    Hsinwong閱讀 2,605評(píng)論 0 7
  • Spring致力于提供一種方法管理你的業(yè)務(wù)對(duì)象。在大量Java EE的應(yīng)用中,隨處可見(jiàn)Spring。今天我將簡(jiǎn)單的...
    JAVA架構(gòu)師的圈子閱讀 1,491評(píng)論 0 16
  • 25個(gè)經(jīng)典的Spring面試問(wèn)答 本人收集了一些在大家在面試時(shí)被經(jīng)常問(wèn)及的關(guān)于Spring的主要問(wèn)題,這些問(wèn)題有可...
    殺小賊閱讀 777評(píng)論 0 2

友情鏈接更多精彩內(nèi)容