springboot使用 RegistrationBean 注入 Servlet、Filter、Listener。
这是一个范例,其他关于Servlet、Filter、Listener的配置类都可以参考这个进行编写,这些类一般放在项目config包下面。
注意一定要加上 @Configuration、@Bean 注解,不然配置无法生效。
/**
* @version v1.0.0
* @Package : com.hspedu.springboot.config
* @Configuration 表示是一个配置类
* proxyBeanMethods = true:默认是一个单实例的
**/
@Configuration(proxyBeanMethods = true)
public class RegisterConfigTest {
//注入原生servlet的配置。
@Bean
public ServletRegistrationBean registerServlet() {
ServletTest servletTest = new ServletTest();
return new ServletRegistrationBean(servletTest,"/servlet01", "/servlet02");
}
//注入过滤器的配置
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterTest filterTest = new FilterTest();
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(filterTest);
filterRegistrationBean.setUrlPatterns(Arrays.asList("/css/*","/images/*"));
return filterRegistrationBean;
}
//注入监听器配置
@Bean
public ServletListenerRegistrationBean servletListenerRegistrationBean() {
ListerTest listerTest = new ListerTest();
return new ServletListenerRegistrationBean(listerTest);
}
}