springboot-AOP
来源:互联网 发布:模特接单软件 编辑:程序博客网 时间:2024/05/18 02:14
springboot-AOP
- springboot-AOP
- 创建切面方式一
- 创建切面方式二抽取切点出来减少重复代码
创建切面方式一:
@Aspect@Componentpublic class HttpAspect { @Before("execution(public * com.example.HelloController.*(..))") public void logBefore() { System.out.print("logBefore"); } @After("execution(public * com.example.HelloController.*(..))") public void logAfter() { System.out.print("logAfter"); }}
创建切面方式二:(抽取切点出来,减少重复代码)
@Aspect@Componentpublic class HttpAspect { @Pointcut("execution(public * com.example.HelloController.*(..))") public void log() { } @Before("log()") public void logBefore() { System.out.print("logBefore"); } @After("log()") public void logAfter() { System.out.print("logAfter"); }}
@Aspect@Componentpublic class HttpAspect { public static Logger logger = LoggerFactory.getLogger(HttpAspect.class); @Pointcut("execution(public * com.example.HelloController.*(..))") public void log() { } @Before("log()") public void logBefore(JoinPoint joinPoint) { logger.info("logBefore"); ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = servletRequestAttributes.getRequest(); logger.info("url={}", request.getRequestURL()); logger.info("method={}", request.getMethod()); logger.info("ip={}", request.getRemoteAddr()); logger.info("class.method={}", joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName()); logger.info("args={}", joinPoint.getArgs()); } @After("log()") public void logAfter() { logger.info("logAfter"); } @AfterReturning(returning = "object", pointcut = "log()") public void logAfterReturning(Object object) { logger.info("response={}", object.toString()); }}输出日志:logBeforeurl=http://localhost:8080/updatePersonmethod=PUTip=0:0:0:0:0:0:0:1class.method=com.example.HelloController.updatePersonargs=10m person person0_ where person0_.id=?logAfterresponse=com.example.Person@34b98c82
阅读全文
0 0
- springboot-AOP
- SpringBoot-AOP
- springBoot aop
- springboot-aop访问拦截
- Springboot配置aop
- 第四十章 SpringBoot AOP
- springboot集成AOP
- springboot使用AOP
- SpringBoot aop demo
- SpringBoot-10整合AOP
- springboot之AOP配置
- springboot-AOP
- SpringBoot-AOP处理请求
- SpringBoot(五):aop
- Springboot与Aop
- SpringBoot+Gradle实现AOP
- springboot 集成aop
- SpringBoot中aop的使用
- React Native入门(一)之安装,环境搭建
- Linux简单安装
- android四种常用的消息传递机制/模式的比较
- springboot-gradle + mybatis-generator-plugin
- 暑期第三天
- springboot-AOP
- springboot-配置文件
- 【小工具】页面加载获取url param
- springboot-Controller
- 《Java EE互联网轻量级框架整合开发》在京东预售,发个目录
- springboot-数据库
- Select Sort
- 六大设计原则
- Spring Boot 集成mybatis(gradle)