springBoot AOP切面编程
AOP 为 Aspect Oriented Programming 的缩写,意为 面向切面编程。AOP 为spring 中的一个重要内容,它是通过对既有程序定义一个切入点,然后在其前后切入不同的执行内容。
AOP 不会破坏原有程序的逻辑,很好的和业务逻辑进行隔离,耦合度低。
常用比如AOP 的日志记录。
1.pom加入AOP依赖包
<!--AOP切面 start--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><!--AOP切面 end-->
2.建立LogAspect 类,该类必须在 主程序的扫包范围内
@Aspect @Component @Slf4j public class LogAspect {@Pointcut("execution(public * 扫包路径..*.*(..))")public void LogHelp() {}@Pointcut("execution(public * 扫包路径..*.*(..))")public void LogErrorHelp() {}@Before("LogHelp()")public void doBefore(JoinPoint joinPoint) throws Throwable {// 接收到请求,记录请求内容ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request = attributes.getRequest();// 记录下请求内容System.out.println("URL : " + request.getRequestURL().toString());System.out.println("HTTP_METHOD : " + request.getMethod());System.out.println("IP : " + request.getRemoteAddr());System.out.println("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());System.out.println("ARGS : " + Arrays.toString(joinPoint.getArgs()));}@AfterReturning(returning = "ret", pointcut = "LogHelp()")public void doAfterReturning(Object ret) throws Throwable {// 处理完请求,返回内容System.out.println("方法的返回值 : " + ret);}@AfterThrowing("LogErrorHelp()")public void doAfterThrowing(JoinPoint jp) {System.out.println("方法异常时执行.....");System.out.println(jp.toString());} }//end
转载于:https://www.cnblogs.com/hcfan/p/9888413.html
springBoot AOP切面编程相关推荐
- java切面类整合_SpringBoot2.x【五】整合AOP切面编程
SpringBoot2.x[五]整合AOP切面编程 面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP). OOP中模块化的关键单元是类,而在AOP中,模块化单元是方面. ...
- Springboot AOP切面
文章目录 SpringBoot Aop 切面(Aop) 一.什么是切面 二.切面的用途 三.AOP切面常用注解 四.详细内容 1.切面(Aspect) 2.连接点(Joinpoint) 3.通知(Ad ...
- SpringBoot2.0 基础案例(11):配置AOP切面编程,解决日志记录业务
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.AOP切面编程 1.什么是AOP编程 在软件业,AOP为Asp ...
- Aop切面编程原理和Spring实现
Aop切面编程概念 AOP切面编程一般可以帮助我们在不修改现有代码的情况下,对程序的功能进行拓展,往往用于实现 日志处理,权限控制,性能检测,事务控制等 AOP实现的原理就是动态代理,在有接口的情况下 ...
- Spring中的AOP切面编程的三种实现方式
文章目录 Spring中的AOP切面编程的三种实现方式 1.最基本AOP的实现 a.引入jar包 b.编写通知类,这里以后置通知和环绕通知类为例子进行说明 c.在SpringIOC容器中配置 d.测试 ...
- SpringBoot面向切面编程-用AOP方式管理日志
面向切面编程 认识AOP AOP(Aspect Oriented Program,面向切面编程)把业务功能分为核心.非核心两部分. 核心业务功能 非核心业务功能 用户登录,增加数据,删除数据 性能统计 ...
- springboot实现AOP切面编程
概述 AOP(Aspect Oriented Programming) 即面向切面编程.面向切面是面向对象中的一种方式而已.在代码执行过程中,动态嵌入其他代码,叫做面向切面编程(将交叉业务逻辑封装成成 ...
- java 切面_实用|AOP切面编程手段大汇总
点击上方"欧学长的架构成长之路" 关注我 前言 首先说一下什么是AOP? AOP就是面向切面编程,它是一个思想,通过切面,我们可以将那些反复出现的代码抽取出来,放在一个地方统一处理 ...
- Spring 框架基础(04):AOP切面编程概念,几种实现方式演示
本文源码:GitHub·点这里 || GitEE·点这里 一.AOP基础简介 1.切面编程简介 AOP全称:Aspect Oriented Programming,面向切面编程.通过预编译方式和运行期 ...
最新文章
- controller不跳转页面的几个原因_狗狗为什么不睡觉?是这几个原因
- Windows Forms Programming In C# 读书笔记 - 第三章 Dialogs
- 隐藏和伪装端口banner
- Spring Bean InitializingBean和DisposableBean实例
- 20170914-构建之法:现代软件工程-阅读笔记
- 西交大计算机考博学术英语,2018年西安交通大学考博英语真题
- bzoj千题计划203:bzoj3994: [SDOI2015]约数个数和
- 从词袋到 Transfomer,NLP 十年突破史
- 主题:spring集成quartz,出现2次重复调用的问题
- 正则表达式之非捕获组
- 为什么要使用Keil MDK-ARM中间件库?
- 已解决(Python语法报错)SyntaxError invalid syntax
- java实战小结-Controller报错:Content type ‘multipart/form-data;boundary=----WebKitFormBoundaryxxxx not supp
- 高并发系统设计——API网关技术选型
- Java解析Lrc歌词
- EXCEL如何设置打印区域
- git 重置用户名和密码
- 英语:英语写作(200个单词)
- 物联网发展面临哪些问题
- 英特尔迅驰二代风尚盛典刮起酷炫风暴!
热门文章
- Javascript 获取页面高度(多种浏览器)【转】
- Java web程序中备份oracle数据库
- 存储过程中将sql语句结果赋值给变量
- 第三十二讲 ASP.NET网络打印
- CH341SER CH340SER USB转串口驱动
- 胡润2019中国人工智能企业百强榜:北京55家居首
- 玩cf出现outofmemory_《穿越火线》的肖枫原型是CF选手白鲨吗?
- springboot拦截器拦截提示_Springboot拦截器使用及其底层源码剖析
- WeakHashMap和四种引用总结:
- github创建项目_用了 GitHub 上这款开源神器后,创建项目文档变得 so easy!