AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构
oop(object Oriented Programming)面向对象编程
在不惊动原始设计的基础上为其进行功能增强
@Pointcut("表达式")
@Aspect让类识别AOP
@EnbleAspectJAutoProxy开启注解AOP的功能
@Before("pt()")前置通知
@After("pt()")后置通知
@Around("pt()")环绕通知
@AfterReturning("pt()")原始数据成功运行完执行
@AfterThrowing("pt()")抛出异常后运行
创建动态代理对象
Proxy.newProxyInstance()
切入点表达式
* con.test.spring.dao.*.*
* con.test.spring.dao..*.*(..)
public void around(ProceedingJoinPoint pjp){
pjp.args()获取参数数据
Signature s = pjp.getSignature();获取切面信息
s.getDeclaringTypeName();获取方法类型
s.getName();获取方法名
pjp.proceed();调用原始方法
}