【spring boot】FilterRegistrationBean介绍
2020-04-23 10:04
1281 查看
前言
以往的javaee配置过滤器是在web.xml中配置的,如下代码
<filter> <filter-name>TestFilter</filter-name> <filter-class>com.cppba.filter.TestFilter</filter-class> </filter> <filter-mapping> <filter-name>TestFilter</filter-name> <url-pattern>/*</url-pattern> <init-param> <param-name>paramName</param-name> <param-value>paramValue</param-value> </init-param> </filter-mapping>
而spring boot 是没有这个配置的,怎么办?
解决办法
定义一个自定义的过滤器,类似原来的模式
package com.cppba.filter; import javax.servlet.*; import java.io.IOException; public class TestFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("TestFilter"); } @Override public void destroy() { } }
主程序启动文件,增加
@Bean public FilterRegistrationBean testFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new TestFilter()); registration.addUrlPatterns("/*"); registration.addInitParameter("paramName", "paramValue"); registration.setName("testFilter"); registration.setOrder(1); return registration; }
总结:
Spring Boot针对Servlet、Filter等,有几种注册方法
- 使用
@WebFilter
、@WebServlet
、@WebListener
注解来标识类 - 使用
FilterRegistrationBean
、ServletRegistrationBean
来对Filter
、Servlet
进行自定义注册 - 使用
@Bean
来自动添加,添加后默认的过滤路径为/*
转载于:https://www.cnblogs.com/lodor/p/7568765.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/FilterRegistrationBean
- Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean
- 找不org.springframework.boot.context.embedded.FilterRegistrationBean
- java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/FilterRegistrationBean
- Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用
- 构建eureka-server异常ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean
- Springboot整合shiro,项目启动报错无法创建shiroFilterFactory的bean对象的问题
- SpringBoot中配置Servlet,Filter,Listener的注解方式和Bean方式(十三)
- Spring boot web 应用 Bean介绍 : AutoConfigurationPackages
- Spring-boot中Filter注入bean
- Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/ServletRegistrationBean
- SpringBoot在初始化filter之前加载加载部分bean
- SpringBoot源码之BeanFactory
- Spring Boot实战(二)Spring常用配置 2.1 Bean的Scope
- SpringBoot学习之路:09.Spring Boot中添加Filter应用
- Spring BeanFactory与FactoryBean的区别及其各自的详细介绍于用法
- Spring boot 框架介绍
- Spring Boot / Spring MVC 入门实践 (三) : 入门项目介绍与用户注册登录的实现
- Spring Boot 使用Java代码创建Bean并注册到Spring中