介绍一下监听器的三种使用方式
第一种: 实现ApplicationListener接口后配置在spring.factories文件中
package com.jun.lee.listener;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationStartingEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* <Description>
* 第一种实现方式
* @author Jun Lee
* @version 1.0
* @createDate 2020/02/14 12:48
* @see com.jun.lee.listener
*/
@Component
@Slf4j
@Order(1)
public class FistListener implements ApplicationListener<ApplicationStartingEvent> {
@Override
public void onApplicationEvent(ApplicationStartingEvent event) {
System.out.println("Run FistListener");
}
}
org.springframework.context.ApplicationListener=com.jun.lee.listener.FistListener
第二种: 实现ApplicationListener接口后在启动类中硬编码的方式
package com.jun.lee.listener;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationStartingEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.core.annotation.Order;
/**
* <Description>
* 第二种实现方式
* @author Jun Lee
* @version 1.0
* @createDate 2020/02/14 12:48
* @see com.jun.lee.listener
*/
@Slf4j
@Order(2)
public class SecondListener implements ApplicationListener<ApplicationStartingEvent> {
@Override
public void onApplicationEvent(ApplicationStartingEvent event) {
System.out.println("Run SecondListener");
}
}
package com.jun.lee;
import com.jun.lee.initializer.SecondInitializer;
import com.jun.lee.listener.SecondListener;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(App.class);
application.addInitializers(new SecondInitializer());
application.addListeners(new SecondListener());
application.run(args);
}
}
第三种: 实现ApplicationListener接口后 配置在properties中的方式
package com.jun.lee.listener;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.boot.context.event.ApplicationStartingEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.core.annotation.Order;
/**
* <Description>
* 第三种实现方式
* @author Jun Lee
* @version 1.0
* @createDate 2020/02/14 12:48
* @see com.jun.lee.listener
*/
@Slf4j
@Order(3)
public class ThirdListener implements ApplicationListener<ApplicationStartedEvent> {
@Override
public void onApplicationEvent(ApplicationStartedEvent event) {
System.out.println("Run ThirdListener");
}
}
context.listener.classes=com.jun.lee.listener.ThirdListener,com.jun.lee.listener.FourthListener
来源:CSDN
作者:栗子木
链接:https://blog.csdn.net/weixin_42214548/article/details/104310757