spring AOP( 面向切面、面向方面、面向接口)
Aop 面向切面、面向方面、面向接口程序中涉及到公共问题,集中解决
Spring Aop中使用就动态代理
1、实现InvocationHandler
2、生成代理对象
Proxy.newProxyInstance(objectTarget.getClass().getClassLoader(),
objectTarget.getClass().getInterfaces(),
this)
3、编写invoke方法
执行newProxy自动执行invoke
AOP相关概念
1、关注点(concern)
一个关注点可以是一个特定的问题,概念、或者应用程序的兴趣点。总而言之,应用程序必须达到一个目标
安全验证、日志记录、事务管理都是一个关注点
在oop应用程序中,关注点可能已经被代码模块化了还可能散落在整个对象模型中
2、横切关注点(crosscutting concern)
一个关注点的实现代码散落在多个类中或方法中
3、方面(aspect)
一个方面是对一个横切关注点模块化,它将那些原本散落在各处的,
用于实现这个关注点的代码规整在一处
4、建议(通知)(advice)
advice是point cut执行代码,是方面执行的具体实现
前置、后置、环绕、异常通知
5、切入点(pointcut) add*
用于指定某个建议用到何处
6、织入(weaving)
将aspect(方面)运用到目标对象的过程
7、连接点(join point)
程序执行过程中的一个点
8、targetObject 目标对象
9、proxyObject代理对象
spring AOP主要是使用是动态代理机制
spring AOP 完成日志输出
前置通知
(1)创建目标对象
(2)创建前置通知
实现MethodBeforeAdvice
完成before处理
(3)完成代理工厂类装配
(a)代理类接口
(b)通知
(c)目标对象
页:
[1]