Spring AOP的使用
来源:互联网 发布:淘宝卖家差评链接 编辑:程序博客网 时间:2024/05/21 06:59
Spring AOP的概念:AOP是面向切面编程的意思,其主要作用就是对代码块进行处理;其设计思想源自代理模式,在此基础上进行封装扩展,最终形成了aop框架;
面向切面编程的理解就是在不修改原有的代码的情况下,直接在业务流程中将新的代码切入;
面向切面编程的一些基本概念:
什么是切入点?
切入点就是可以插入增强处理的方法;
什么是增强处理类型?
增强处理类型就是在原有的对象之前插入的增强处理为前置增强,改方法正常执行以后插入的增强处理为后置增强;
使用Spring AOP的目的:面向切面编程,例如某个功能点,我们只需抽取横切关注点,然后让需要处理这些功能点的方法来使用代理的方式调用
AOP的组成:
1切面:横切关注点被模块化的对象---功能模块化组成的对象
2通知:就是切面需要完成的功能---就是功能的实现方法1、方法2...
3连接点:就是程序执行的某个特定位置,例如方法前方法后,也是通知所关心的位置
4目标:被通知的对象,也是连接点所在的对象
5代理(Proxy): 向目标对象应用通知之后创建的对象
AOP的使用:
1:抽取横切关注点:也就是抽取我们需要面向切面编程的功能,然后模块化对象
2:然后把模块化对象声明为切面
3:把模块对象细粒化,把功能细分为各个方法
4:声明通知和通知的连接点
使用案例:
使用Spring AOP进行输出日志:
注意:配置文件中的execution是切入点指示符,括号中是一个切入点表达式,可以配置需要植入的增强方法,切入点表达式支持模糊匹配;以下是常用的匹配模式:
public * adduser(com.decolor.entiy.user):"*"表示匹配所有返回类型的返回值
public void *(com.decolor.entiy.user):"*"表示匹配所有的方法名
public void addUser(..);".."表示匹配所有参数个数和类型;
* com.decolor.service.*.*(..);匹配改包下的所有类和所有方法
* com.decolor.service..*();匹配改包及改包下的所有子包的所有类和所有方法;
AOP是用注解步骤:
一:在Spring的配置文件中引入注解的切面驱动器:<aop:aspectj-autoproxy/>
二:在aop执行的类上使用注解@Aspect,并且在aop执行的方法中定义切点和增强类型;
例:
@Before("execution(* com.decolor.biz.*.*(..))");//Before()是后置强类型,就是在所有方法执行完后在执行aop中的该方法;
public void save(){
"aop要执行的方法";
}
AOP增强类型的其他类型:
@Before:表示后置增强类型
@After:表示前置增强类型;
0 0
- Spring AOP的使用
- Spring AOP的使用
- spring-aop的使用
- Spring AOP的使用
- SPRING AOP的使用
- spring的aop的使用
- spring与AOP的使用
- 关于spring的AOP使用
- spring的Aop使用问题
- Spring中AOP的使用
- Spring aop 通知的使用
- Spring的AOP使用实例
- spring boot-aop的使用
- spring boot aop的使用
- spring aop(三)--aop在spring的使用
- AOP、Spring的AOP
- 【Spring AOP】基于AspectJ的AOP基本使用
- Spring AOP 一、AOP的概念与简单使用
- rt_thread 消息队列
- 好玩的数据下载
- 【 C# 公用类库】【 CoderBusy.Common 】0x01 :开篇
- 简单实现复杂的自定义Dialog布局及View的点击事件处理
- 3、Power Query-智能汇总工作簿下的指定或所有工作表数据
- Spring AOP的使用
- OpenGL学习03_双缓冲DoubleBuffering
- Rxjava的使用
- [转载]Java中重载与重写的区别
- Python:可变序列(list 列表) 与 不可变序列(tuple 元组) 特点
- STM32F207笔记
- oracle中文乱码问题
- MTSQL 复杂的查询方法
- 架构师之路道阻且长