搜索引擎优化与推广技术,网站优化公司认准乐云seo,网站域名如何备案信息,抖音代运营怎么取消合作Java 监听机制
SpringBoot 的监听机制#xff0c;其实是对Java提供的事件监听机制的封装。 Java中的事件监听机制定义了以下几个角色#xff1a;
事件#xff1a;Event#xff0c;继承 java.util.EventObject 类的对象事件源#xff1a;Source #xff0c;任意对象Obje…Java 监听机制
SpringBoot 的监听机制其实是对Java提供的事件监听机制的封装。 Java中的事件监听机制定义了以下几个角色
事件Event继承 java.util.EventObject 类的对象事件源Source 任意对象Object监听器Listener实现 java.util.EventListener 接口 的对象
SpringBoot 监听机制
SpringBoot 在项目启动时会对几个监听器进行回调我们可以实现这些监听器接口在项目启动时完成一些操作。 ApplicationContextInitializer、SpringApplicationRunListener、CommandLineRunner、ApplicationRunner
META-INF/spring.factories
org.springframework.context.ApplicationContextInitializercom.release.springbootlistener.listener.MyApplicationContextInitializerorg.springframework.boot.SpringApplicationRunListenercom.release.springbootlistener.listener.MySpringApplicationRunListenerApplicationContextInitializer Component
public class MyApplicationContextInitializer implements ApplicationContextInitializer {Overridepublic void initialize(ConfigurableApplicationContext applicationContext) {System.out.println(ApplicationContextInitializer....initialize);}
}SpringApplicationRunListener public class MySpringApplicationRunListener implements SpringApplicationRunListener {public MySpringApplicationRunListener(SpringApplication application, String[] args) {}Overridepublic void starting() {System.out.println(starting...项目启动中);}Overridepublic void environmentPrepared(ConfigurableEnvironment environment) {System.out.println(environmentPrepared...环境对象开始准备);}Overridepublic void contextPrepared(ConfigurableApplicationContext context) {System.out.println(contextPrepared...上下文对象开始准备);}Overridepublic void contextLoaded(ConfigurableApplicationContext context) {System.out.println(contextLoaded...上下文对象开始加载);}Overridepublic void started(ConfigurableApplicationContext context) {System.out.println(started...上下文对象加载完成);}Overridepublic void running(ConfigurableApplicationContext context) {System.out.println(running...项目启动完成开始运行);}Overridepublic void failed(ConfigurableApplicationContext context, Throwable exception) {System.out.println(failed...项目启动失败);}
} CommandLineRunner Component
public class MyCommandLineRunner implements CommandLineRunner {Overridepublic void run(String... args) throws Exception {System.out.println(CommandLineRunner...run);System.out.println(Arrays.asList(args));}
}ApplicationRunner /*** 当项目启动后执行run方法。*/
Component
public class MyApplicationRunner implements ApplicationRunner {Overridepublic void run(ApplicationArguments args) throws Exception {System.out.println(ApplicationRunner...run);System.out.println(Arrays.asList(args.getSourceArgs()));}
}