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

Spring初始化與銷毀順序案例演示詳解

 更新時間:2023年02月07日 16:20:43   作者:tanglin_030907031026  
這篇文章主要介紹了SpringBoot中的Bean的初始化與銷毀順序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

演示 - 初始化銷毀順序

/*
    初始化和銷毀的執(zhí)行順序
 */
@SpringBootApplication
public class A07_1 {
    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(A07_1.class, args);
        context.close();
    }
    @Bean(initMethod = "init3")
    public Bean1 bean1() {
        return new Bean1();
    }
    @Bean(destroyMethod = "destroy3")
    public Bean2 bean2() {
        return new Bean2();
    }
}

Bean1

public class Bean1 implements InitializingBean {
    private static final Logger log = LoggerFactory.getLogger(Bean1.class);
    @PostConstruct
    public void init1() {
        log.debug("初始化1");
    }
    @Override
    public void afterPropertiesSet() throws Exception {
        log.debug("初始化2");
    }
    public void init3() {
        log.debug("初始化3");
    }
}

Bean2

public class Bean2 implements DisposableBean {
    private static final Logger log = LoggerFactory.getLogger(Bean2.class);
    @PreDestroy
    public void destroy1() {
        log.debug("銷毀1");
    }
    @Override
    public void destroy() throws Exception {
        log.debug("銷毀2");
    }
    public void destroy3() {
        log.debug("銷毀3");
    }
}

輸出結果:

總結:

Spring 提供了多種初始化手段,除了課堂上講的 @PostConstruct,@Bean(initMethod) 之外,還可以實現(xiàn) InitializingBean 接口來進行初始化,如果同一個 bean 用了以上手段聲明了 3 個初始化方法,那么它們的執(zhí)行順序是

  • @PostConstruct 標注的初始化方法
  • InitializingBean 接口的初始化方法
  • @Bean(initMethod) 指定的初始化方法

與初始化類似,Spring 也提供了多種銷毀手段,執(zhí)行順序為

  • @PreDestroy 標注的銷毀方法
  • DisposableBean 接口的銷毀方法
  • @Bean(destroyMethod) 指定的銷毀方法

到此這篇關于Spring初始化與銷毀順序案例演示詳解的文章就介紹到這了,更多相關Spring初始化與銷毀順序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 快速搭建Spring Boot+MyBatis的項目IDEA(附源碼下載)

    快速搭建Spring Boot+MyBatis的項目IDEA(附源碼下載)

    這篇文章主要介紹了快速搭建Spring Boot+MyBatis的項目IDEA(附源碼下載),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 兩個jar包下相同包名類名引入沖突的解決方法

    兩個jar包下相同包名類名引入沖突的解決方法

    本文主要介紹了兩個jar包下相同包名類名引入沖突的解決方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java線程中的ThreadLocal詳細分析

    Java線程中的ThreadLocal詳細分析

    這篇文章主要介紹了Java線程中的ThreadLocal詳細分析,ThreadLocal?提供線程的局部變量,每個線程都可以通過?get()和?set()對局部變量進行操作而不會對其他線程的局部變量產生影響,實現(xiàn)了線程之間的數據隔離,需要的朋友可以參考下
    2023-09-09
  • idea切換git地址并刷新右下角git分支

    idea切換git地址并刷新右下角git分支

    這篇文章主要介紹了idea切換git地址并刷新右下角git分支,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 基于JSON和java對象的互轉方法

    基于JSON和java對象的互轉方法

    下面小編就為大家?guī)硪黄贘SON和java對象的互轉方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • SpringMVC攔截器超詳細解讀

    SpringMVC攔截器超詳細解讀

    SpringMVC的處理器攔截器,類似于Servlet開發(fā)中的過濾器Filter,用于對處理器進行預處理和后處理。?依賴于web框架,在實現(xiàn)上基于Java的反射機制,屬于面向切面編程(AOP)的一種運用
    2022-07-07
  • SpringBoot在生產快速禁用Swagger2的方法步驟

    SpringBoot在生產快速禁用Swagger2的方法步驟

    這篇文章主要介紹了SpringBoot在生產快速禁用Swagger2的方法步驟,使用注解關閉Swagger2,避免接口重復暴露,非常具有實用價值,需要的朋友可以參考下
    2018-12-12
  • 解決dubbo啟動報服務注冊失敗Failed?to?register?dubbo

    解決dubbo啟動報服務注冊失敗Failed?to?register?dubbo

    這篇文章主要介紹了解決dubbo啟動報服務注冊失敗Failed?to?register?dubbo問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java實現(xiàn)產生隨機字符串主鍵的UUID工具類

    Java實現(xiàn)產生隨機字符串主鍵的UUID工具類

    這篇文章主要介紹了Java實現(xiàn)產生隨機字符串主鍵的UUID工具類,涉及java隨機數與字符串遍歷、轉換等相關操作技巧,需要的朋友可以參考下
    2017-10-10
  • Java 開啟多線程常見的4種方法

    Java 開啟多線程常見的4種方法

    本文主要介紹了Java 開啟多線程常見的4種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06

最新評論