@FilterRegistration和@ServletRegistration注解

前言

@FilterRegistration@ServletRegistration注解是Springboot3.5.x版本之后提供的注解,使用 @ServletRegistration 注册 Servlet,使用 @FilterRegistration注册Filter

注解使用

@FilterRegistration使用

创建一个Springboot3.5.x版本新属性,然后

java 复制代码
@Slf4j
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 {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;

        log.info("TestFilter:{{}}", request.getRequestURI());

        //执行
        filterChain.doFilter(servletRequest, servletResponse);
    }

    @Override
    public void destroy() {

    }
}
less 复制代码
@Configuration(proxyBeanMethods = false)
public class FilterConfiguration {

    @Bean
    @FilterRegistration(name = "encoding-filter", urlPatterns = "/*", order = 0)
    public TestFilter encodingFilter() {
        return new TestFilter();
    }
    

}

输出结果为

@ServletRegistration使用

scala 复制代码
public class MyServlet extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getOutputStream().println("hello world");
    }
}
less 复制代码
@Configuration(proxyBeanMethods = false)
public class FilterConfiguration {
    


    @Bean
    @ServletRegistration(name = "encoding-filter1", order = 0)
    public MyServlet myServlet() {
        return new MyServlet();
    }

}

总结

Springboot3.5.x版本之后,更新了许多优秀属性,可以用用看

相关推荐
木雷坞11 分钟前
Home Assistant 升级翻车:一套 Docker Compose 回滚清单
后端
李小狼lee11 分钟前
《spring如此简单》第四节--IOC思想的实现,spring启动后发生了什么
后端·面试
SamDeepThinking14 分钟前
面试官问Bean线程安全,你该从架构角度回答
java·后端·面试
用户3983461612017 分钟前
Go-Spring 实战第 7 课 —— Profile 多环境配置:基础配置与环境差异如何避免复制
spring·go
用户7138742290018 分钟前
git fsck 深度解析 Git 仓库的体检医生
后端
风度前端23 分钟前
阿里云宝塔面板部署https证书
linux·后端·https
还是鼠鼠32 分钟前
AI掘金头条新闻系统 (Toutiao News)-相关推荐
后端·python·mysql·fastapi·web
AskHarries33 分钟前
OpenClaw 是什么?为什么它不是普通 AI Agent
人工智能·后端·程序员
Tsuki_tl35 分钟前
【总结】Java的线程状态
java·后端·面试·多线程·并发编程·线程状态