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

SpringBoot項目啟動執(zhí)行任務的多種方法小結

 更新時間:2023年07月05日 11:28:11   作者:傻魚愛編程  
這篇文章主要介紹了SpringBoot項目啟動執(zhí)行任務的多種方法小結,本文給大家分享的這幾種方法經常會被用到,當我們的項目啟動后需要調用對應的方法,用來項目的初始化等,本文通過示例代碼講解的非常詳細,需要的朋友參考下吧

經過整理后得到以下幾種常用方式,供大家參考。

1. 使用過濾器

init() :該方法在tomcat容器啟動初始化過濾器時被調用,它在 Filter 的整個生命周期只會被調用一次??梢栽谶@個方法中補充想要執(zhí)行的內容。

@Component
public class MyFilter implements Filter {
    /**
     * init() :該方法在tomcat容器啟動初始化過濾器時被調用,它在 Filter 的整個生命周期只會被調用一次。
     * doFilter() :容器中的每一次請求都會調用該方法, FilterChain(放行) 用來調用下一個過濾器 Filter。
     * destroy(): 當容器銷毀過濾器實例時調用該方法,在方法中銷毀或關閉資源,在過濾器 Filter 的整個生命周期也只會被調用一次。
     */
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("Filter 前置");
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("Filter 處理中");
        filterChain.doFilter(servletRequest, servletResponse);
    }
    @Override
    public void destroy() {
        System.out.println("Filter 后置");
    }
}

2.實現InitializingBean接口,代碼如下:

@Component
public class MyInitStart2 implements InitializingBean {
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("在MyInitStart2中添加初始下方法");
    }
}

3.實現ApplicationListener接口,代碼如下:

@Component
public class MyInitStart3 implements ApplicationListener<ApplicationStartedEvent> {
    @Override
    public void onApplicationEvent(ApplicationStartedEvent event) {
        System.out.println("在MyInitStart3中添加初始下方法");
    }
}

4.實現ApplicationRunner接口,代碼如下:

@Component
public class MyInitStart4 implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("在MyInitStart4中添加初始下方法");
    }
}

5.實現CommandLineRunner接口,代碼如下:

@Component
public class MyInitStart5 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("在MyInitStart5中添加初始下方法");
    }
}

6.使用@PostConstruct注解,代碼如下:

@Component
public class MyInitStart6 {
    @PostConstruct
    public void run() {
        System.out.println("在MyInitStart6中添加初始下方法");
    }
}

7.直接在啟動類下面調用方法

    public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
        ConfigurableApplicationContext run = SpringApplication.run(YabaoApplication.class, args);
        System.out.println("在啟動類添加初始下方法");
    }

其實我們也可以使用springboot定時器@Scheduled進行實現,啟動后就去執(zhí)行一次。

我們看下以上其中方法打印的順序:

 看到打印的信息后我們可以發(fā)現他們的執(zhí)行順序,filter是在最前面的。這幾種方法經常會被用到,當我們的項目啟動后需要調用對應的方法,用來項目的初始化等。

到此這篇關于SpringBoot項目啟動執(zhí)行任務的幾種方式的文章就介紹到這了,更多相關SpringBoot啟動執(zhí)行任務內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中內存分配的幾種方法

    Java中內存分配的幾種方法

    本文主要介紹Java中幾種分配內存的方法。我們會看到如何使用sun.misc.Unsafe來統(tǒng)一操作任意類型的內存。以前用C語言開發(fā)的同學通常都希望能在Java中通過較底層的接口來操作內存,他們一定會對本文中要講的內容感興趣
    2014-03-03
  • Hibernate一對多關聯雙向關聯代碼實現分享

    Hibernate一對多關聯雙向關聯代碼實現分享

    Hibernate一對多關聯雙向關聯代碼實現分享,大家參考使用吧
    2013-12-12
  • Gauva使用ListenableFuture介紹說明

    Gauva使用ListenableFuture介紹說明

    并發(fā)是一個困難問題,但是通過強大和強大的抽象能夠顯著的簡化工作。為了簡化問題,Gauva使用ListenableFuture擴展了JDK的Future接口,這篇文章主要介紹了Gauva使用ListenableFuture
    2023-01-01
  • Struts2中圖片以base64方式上傳至數據庫

    Struts2中圖片以base64方式上傳至數據庫

    這篇文章主要介紹了Struts2中圖片以base64方式上傳至數據庫的實現代碼,代碼分為前臺和后臺兩段,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 在Spring中編寫事務的介紹

    在Spring中編寫事務的介紹

    今天小編就為大家分享一篇關于在Spring中編寫事務的介紹,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Spring中的自定義NamespaceHandler詳解

    Spring中的自定義NamespaceHandler詳解

    這篇文章主要介紹了Spring中的自定義NamespaceHandler詳解,通常情況下,Spring生態(tài)圈提供的功能已足夠使用,但不排除特殊情況下,需要匹配特殊及復雜的業(yè)務情況,Spring提供了可擴展Schema支持,可以自定義命名空間進行配置及解析,需要的朋友可以參考下
    2023-11-11
  • java中JVM中如何存取數據和相關信息詳解

    java中JVM中如何存取數據和相關信息詳解

    這篇文章主要介紹了JVM中如何存取數據和相關信息詳解,Java源代碼文件(.java后綴)會被Java編譯器編譯為字節(jié)碼文件,然后由JVM中的類加載器加載各個類的字節(jié)碼文件,加載完畢之后,交由JVM執(zhí)行引擎執(zhí)行。JVM中怎么存取數據和相關信息呢?,需要的朋友可以參考下
    2019-06-06
  • Java實現解析Excel復雜表頭

    Java實現解析Excel復雜表頭

    這篇文章主要為大家詳細介紹了如何使用Java實現解析Excel復雜表頭功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01
  • SpringBoot中Zookeeper分布式鎖的原理和用法詳解

    SpringBoot中Zookeeper分布式鎖的原理和用法詳解

    Zookeeper是一個分布式協調服務,它提供了高可用、高性能、可擴展的分布式鎖機制,SpringBoot是一個基于Spring框架的開發(fā)框架,它提供了對Zookeeper分布式鎖的集成支持,本文將介紹SpringBoot中的 Zookeeper分布式鎖的原理和使用方法,需要的朋友可以參考下
    2023-07-07
  • java微信server錄音下載到自己server

    java微信server錄音下載到自己server

    這篇文章主要為大家詳細介紹了java微信server錄音下載到自己server的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論

祁东县| 嘉黎县| 永州市| 瑞金市| 宜阳县| 广南县| 枣强县| 嘉兴市| 贡嘎县| 林西县| 南通市| 永和县| 枣阳市| 顺义区| 沅江市| 洛宁县| 梁山县| 平昌县| 淮阳县| 漯河市| 彭州市| 苍梧县| 呼伦贝尔市| 绥中县| 宝丰县| 太谷县| 江孜县| 潮州市| 双牌县| 章丘市| 灵寿县| 重庆市| 六枝特区| 林甸县| 青田县| 阿鲁科尔沁旗| 夹江县| 蓝田县| 赤城县| 崇仁县| 张掖市|