原始listener配置
<listener>
<listener-class>com.tumbler.listener.FirstListener</listener-class>
</listener>
方式一:使用注解扫描完成Listener注册
- 创建一个ServletContextListener,添加@WebListener注解
@WebListener
public class FirstListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("FirstListener.....init.....");
}
}
- 编写启动类,添加注解@ServletComponentScan
@SpringBootApplication
@ServletComponentScan
public class SpringBootListenerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootListenerApplication.class, args);
}
}
- 启动项目测试,在控制台可见Listener启用
方式二:使用方法完成Listener注册
- 创建SecondListener,不使用注解
public class SecondListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("SecondListener.....init.....");
}
}
- 编写启动类,在方法上添加@Bean注解注册listener
@SpringBootApplication
public class SpringBootListenerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootListenerApplication.class, args);
}
@Bean
public ServletListenerRegistrationBean<SecondListener> listenerServletListenerRegistrationBean() {
ServletListenerRegistrationBean<SecondListener> listenerServletListenerRegistrationBean = new ServletListenerRegistrationBean<SecondListener>(new SecondListener());
return listenerServletListenerRegistrationBean;
}
}
- 启动项目测试