1、增加依赖配置
1 2 3 4 5 6 7 8 9 10 11 | <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version> 1.6 . 11 </version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version> 1.6 . 11 </version> </dependency> |
增加pagehelper
1 2 3 4 5 | <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version> 4.1 . 0 </version> </dependency> |
2、增加配置
1 2 3 4 5 6 7 8 | <context:component-scan base- package = "com.example.controller" /> <!-- 启动对 @AspectJ 注解的支持 --> <aop:aspectj-autoproxy/> <!--启动springmvc注解--> <mvc:annotation-driven content-negotiation-manager= "contentNegotiationManager" /> |
3、增加注解
1 2 3 4 5 6 | @Target ({ElementType.PARAMETER, ElementType.METHOD}) @Retention (RetentionPolicy.RUNTIME) @Documented public @interface EnablePaging { String value() default "" ; } |
4、 增加AOP文件。
这里约定最后两个参数是pageNum 和pageSize
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | @Aspect @Component @Slf4j public class PageAop { @Pointcut ( "@annotation(com.example.annotation.EnablePaging)" ) public void serviceAspect(){ log.info( "serviceAspect" ); } @Before ( "serviceAspect()" ) public void doBefore(JoinPoint joinPoint) { log.info( "doBefore" ); } @Around (value = "serviceAspect()" ) public Object doAround(ProceedingJoinPoint point) throws Throwable{ log.info( "doAround " ); Object[] args = point.getArgs(); Integer pageNum = 1 ; Integer pageSize = 10 ; if (args.length >= 2 ){ pageNum = (Integer)args[args.length - 2 ]; pageSize = (Integer)args[args.length - 1 ]; } PageHelper.startPage(pageNum, pageSize); return point.proceed(args); } } |
5. Controller层
1 2 3 4 5 6 7 8 9 10 | @RequestMapping (value = "queryLogs" ) @EnablePaging @ResponseBody public ServerResponse<PageInfo> queryLogs(HttpServletResponse response, @RequestParam (value = "pageNum" ,defaultValue = "1" ) int pageNum, @RequestParam (value = "pageSize" ,defaultValue = "10" ) int pageSize){ List<Log> list = iLogService.queryList(pageNum, pageSize); PageInfo pageInfo = new PageInfo(list); return ServerResponse.createBySuccess(pageInfo); } |
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步