解决mybatis plus 一对多分页查询问题
337
2022-06-06
1、自定义一个名称为TimeFilter的过滤器,代码如下:
package com.xz.springsecuritydemo.filter; import org.springframework.stereotype.Component; import javax.servlet.*; import java.io.IOException; import java.util.Date; @Component//添加该注解使过滤器启作用,如果不使用@Component注解需要写配置类,例lz写的WebConfig进行注册 public class TimeFilter implements Filter { //在控制器方法(即controller类中的方法)调用之前调用 @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("Time Filter init"); } //在控制器方法(即controller类中的方法)调用之后调用 @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("Time Filter start"); long startTime = new Date().getTime(); chain.doFilter(request,response); long endTime = new Date().getTime(); System.out.println("Filter耗时:"+(endTime-startTime)); System.out.println("Time Filter end"); } //在控制器方法(即controller类中的方法)调用之后调用 @Override public void destroy() { System.out.println("Time Filter destroy"); } }
2、自定义一个WebFilterConfig配置类,步骤1中如果不使用@Component注解,需要使用基于java的配置方式实现,代码如下:
package com.xz.springsecuritydemo.filter; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.ArrayList; @Configuration public class WebFilterConfig { @Bean public FilterRegistrationBean timeFilter(){ FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean(); filterRegistrationBean.setFilter(new TimeFilter()); ArrayList<String> list = new ArrayList<>(); list.add("/*");//过滤所有路径 filterRegistrationBean.setUrlPatterns(list); return filterRegistrationBean; } }
3、自定义一个控制类,代码如下
@RestController//表示此Controller提供RestAPI public class SysQueryController { /** * @RequestMapping 映射http请求url到java方法 * @RequestParam 映射请求参数到java方法的参数 */ @RequestMapping(value = "/user1",method = RequestMethod.GET) public void query1(@RequestParam String username){ System.out.println("query1====="+username); } }
4、测试步骤
//输出内容 Time Filter start query1=====xz Filter耗时:128 Time Filter end
5、输出第4步的内容表示自定义的Filter过滤器成功。
由上面的示例可知:Filter过滤器可以获取到原始的http请求和响应的信息,但是获取不到真正处理请求的方法信息。
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~