使用 配置方式 注入 Servlet、Filter、Listener

41 阅读1分钟

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);
    }

}