springboot中启动监听器Listener的两种方式
第一种是基于servlet的
第二种是基于spring的
第一种注意还需要在启动类加上@ServletComponentScan注解,这里用抽象方法主要是考虑到适配器设计模式,用另一个listener继承来实现
@WebListener
@Slf4j
public abstract class BaseListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
log.info("start******************************************");
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
log.info("stop**************************************");
}
}
第二种
@Service
public class ServiceListener implements ApplicationListener {
@Override
public void onApplicationEvent(ApplicationEvent applicationEvent) {
System.out.println("*****************************SERVICE*******************");
}
}