Java wiki笔记 过滤器、拦截器、AOP

过滤器filter 是一个容器层的概念 是责任链模式的应用

创建一个类 实现servlet包的Filter接口 用@Component注解托管给springboot

可以配置多个filter 每个filter只能响应一次 响应顺序看这篇博客

    @Override
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
         // 打印请求信息
         HttpServletRequest request = (HttpServletRequest) servletRequest;
         LOG.info("------------- LogFilter 开始 -------------");
         LOG.info("请求地址: {} {}", request.getRequestURL().toString(), request.getMethod());
         LOG.info("远程地址: {}", request.getRemoteAddr());

         long startTime = System.currentTimeMillis();
         filterChain.doFilter(servletRequest, servletResponse);
         LOG.info("------------- LogFilter 结束 耗时:{} ms -------------", System.currentTimeMillis() - startTime);
     }
 

拦截器interceptor基于SpringMVC

需要在实现了WebMvcConfigurer的配置类中将其注入 并配置需要拦截的url

 

AOP 这个知乎问题

定义pointcut 在@before和@around做一些事情 避免不同对象重复做相同的事情 将相同的事情统一拦截到一处进行处理

带来的风险是切点的粒度带来的熟悉不同地方的逻辑的成本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值