Spring AOP 约定编程

版权声明:本博客内容均是自创,如有雷同,纯属巧合 https://blog.csdn.net/zhanggqianglovec/article/details/89353470

Spring AOP是一种约定流程的编程,是一种基于方法的AOP,只能应用与方法之上,
动态代理技术帮助我们把定义的切面和服务方法织入约定的流程中

1.
@AspectJ 注解

@Transactional 表明该方法需要事务运行

连接点 join point:对应的是具体被拦截的对象,因为 Spring 只能支持方法 , 所以被拦截的对象往往就是指特定的方法
切点 cut point:有时候,我们 的切面不单单应用于单个方法,也可能是多个类的不同方法,这时,可以通过正则式和指示器的规则去定义,从而适配连接点
通知 advice 前置通知,后置通知,环绕通知,事后返回通知和异常通知
目标对象 target 对象,其中包含连接点
引入 introducation 添加新的切点和目标对象
织入 weaving 代理
切面 aspect 管理切点和织入

@Aspect 切面,申明切面实现处理
    @Before 里面需要申明具体切点
    @After
    @AfterReturning
    @AfterThrowing

@PointCut 切点 用于描述那些类的那些方法需要启用AOP编程,为上面的 通知服务

@DeclareParent 引入新的类来增强服务,
    value 增强功能的目标对象
    defaultImpl    引入增强功能的类

代理技术:JDK和CGLIB 
        AOP类拥有接口,使用JDK,否则使用CGLIB 代理

2. 
多切面
@order 通过注解指定切片执行顺序
@ordered 通过接口 指定切片顺序,需要实现接口函数 getOrder()
 

猜你喜欢

转载自blog.csdn.net/zhanggqianglovec/article/details/89353470