springboot 容器启动事件

本文详细介绍如何在SpringBoot应用中使用监听器进行容器启动过程的监控与操作。包括在容器启动开始和完成时执行特定任务,以及如何通过实现Ordered接口来控制监听器的执行顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在springboot 容器启动时,我们需要在启动过程中做一些操作,比如启动容器后,执行某些代码。

spring 提供了监听器,我们可以方便的实现这些操作。

在容器启动开始时:

package com.neo.filter;

import org.springframework.boot.context.event.ApplicationStartingEvent;
import org.springframework.context.ApplicationListener;

public class ApplicationStartingEventListener implements ApplicationListener<ApplicationStartingEvent> {
    @Override
    public void onApplicationEvent(ApplicationStartingEvent arg0) {
        System.err.println("ApplicationStartingEventListener");
    }

}

在容器启动完成后执行操作:

package com.neo.filter;

import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.core.Ordered;

public class ApplicationStartedEventListener implements ApplicationListener<ApplicationStartedEvent>,Ordered {

    @Override
    public void onApplicationEvent(ApplicationStartedEvent ev) {
        System.out.println("ApplicationStartedEventListener1");
    }
    @Override
    public int getOrder() {
        return 1;
    }

}

如果需要有顺序执行,我们可以实现Ordered接口,只越小,越先执行。

package com;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import com.neo.filter.ApplicationStartedEventListener;
import com.neo.filter.ApplicationStartedEventListener2;
import com.neo.filter.ApplicationStartingEventListener;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication app=new SpringApplication(DemoApplication.class);
        app.addListeners(new ApplicationStartedEventListener());
        app.addListeners(new ApplicationStartingEventListener());
        app.addListeners(new ApplicationStartedEventListener2());
        app.run(args);
    }
}

 

Spring Boot的容器启动流程可以简要概括为以下几个步骤: 1. 加载配置文件:Spring Boot会首先加载应用的配置文件,包括application.properties或application.yml等文件,这些配置文件中保存了应用的各种配置信息,如数据库连接、端口号等。 2. 创建Spring应用上下文:接下来,Spring Boot会创建一个Spring应用上下文,该上下文是整个应用的核心容器,负责管理各个Bean的创建、依赖注入等操作。 3. 自动配置:Spring Boot会根据应用的配置文件和约定,自动配置一些常用的Bean,如数据库连接池、Web服务器等。这样,开发者无需手动配置这些组件,可以快速搭建一个可用的应用。 4. 扫描组件:Spring Boot会扫描应用中的所有组件,包括Controller、Service、Repository等,将它们注册到Spring容器中,以便后续的依赖注入和请求处理。 5. 启动应用:最后,Spring Boot会启动Web服务器,如Tomcat或Jetty,将应用部署到服务器上,使之可以接收并处理外部请求。 综上所述,Spring Boot的容器启动流程包括加载配置文件、创建Spring应用上下文、自动配置、扫描组件和启动应用这几个关键步骤。通过这些步骤,Spring Boot能够快速、简便地启动一个可用的Spring应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [9千字长文带你了解SpringBoot启动过程--史上最详细 SpringBoot启动流程-图文并茂](https://blog.youkuaiyun.com/weixin_44947701/article/details/124055713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值