一、入门级:启动main方法中添加初始化逻辑 在Spring Boot的main入口启动方法中,执行SpringApplication.run(LimitApplication.class, args)是可以返回ApplicationContext对象的,我们可以从ApplicationContext中获取指定的bean对象,执行初始化逻辑。 @SpringBootApplication(scanBasePackages = {"com.laowan.limit"}) public class...
ApplicationStartedEvent:当应用启动且环境和上下文准备完成,但在CommandLineRunner和ApplicationRunner执行之前发布。可以用于执行在应用准备完成但未完全启动时的操作。 SpringApplicationRunListener:Spring Boot 内置的监听器,主要用于 SpringBoot 启动的整个过程。比如:初始化、环境准备、上下文准备和完全启动等多个阶段。 star...
1)若定义多个初始化类,在配置文件中设置多个即可,启动后执行顺次与配置顺序一致,也可以使用@Order(n)注解改变执行顺序 2)spring.factories机制扫描所有工程中的/META-INF/spring.factories文件,所以引入相关工程的依赖后,也可执行其初始化方法 二、实现ApplicationRunner接口 @ComponentpublicclassServerSuccessReportimplements...
1、Spring 基于监听 ContextRefreshedEvent 事件,在应用启动后完成初始化操作。Spring Boot 中也能使用这种方式。 2、Spring Boot 提供了 ApplicationRunner 和 CommandLineRunner 用于完成启动后的初始化工作,我们只要实现继承这个接口并实现其中的 run 方法就可以了。 3、ApplicationRunner 和 CommandLineRunner 都可以获得...
用于需要在应用完全启动后执行的初始化逻辑。 执行顺序与 CommandLineRunner 相同。 6. @EventListener事件监听 使用@EventListener 注解,可以在应用启动的某个生命周期阶段执行初始化逻辑。比如监听 ContextRefreshedEvent 事件,这个事件会在 Spring 上下文初始化或刷新时发布。
首先了解一下CommandLineRunner的基本用法,CommandLineRunner可以在系统启动后执行里面的run方法 @Component public class DataPrepare implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("CommandLineRunner执行数据初始化"); ...
一、场景说明 SpringBoot应用启动后自动调用接口(或组件),做一些初始化操作。需要初始化操作的接口: 二、实现方式 2.1 实现方式一:@PostConstruct ...
SpringBoot启动初始化的几种方法:ApplicationRunner、CommandLineRunner、InitializingBean、@PostConstruct CommandLineRunner和ApplicationRunner区别 CommandLineRunner和ApplicationRunner的作用是相同的。不同之处在于CommandLineRunner接口的run()方法接收String数组作为参数,即是最原始的参数,没有做任何处理;而ApplicationRunner接口的...
在SpringBoot 项目启动成功后,根据业务需求的特殊性,在某个组件被调用前,我们可能还需要做一些准备工作。 比如把配置文件properties 里的变量赋值给组件里的静态变量,从而实例化某个对象,加载某个资源等等。 这些准备工作都有一个特点,就是需要在组件被容器实例化后,在组件其他任何方法被调用之前执行。