Spring之apo"/>
Spring之apo
- 1. AOP
- 即面向切面编程
- AOP中关键性概念
- 连接点(Joinpoint):程序执行过程中明确的点,如方法的调用,或者异常的抛出.
- 目标(Target):被通知(被代理)的对象
- 注1:完成具体的业务逻辑
- 通知(Advice):在某个特定的连接点上执行的动作,同时Advice也是程序代码的具体实现,例如一个实现日志记录的代码(通知有些书上也称为处理)
- 注2:完成切面编程
- 代理(Proxy):将通知(公共部分的代码,日志记录)应用到目标(具体的业务逻辑方法)对象后创建的对象(代理=目标+通知),
- 例子:外科医生+护士
- 注3:只有代理对象才有AOP功能,而AOP的代码是写在通知的方法里面的
- 切入点(Pointcut):多个连接点的集合,定义了通知应该应用到那些连接点。
- (也将Pointcut理解成一个条件 ,此条件决定了容器在什么情况下将通知和目标组合成代理返回给外部程序)
- 适配器(Advisor):适配器=通知(Advice)+切入点(Pointcut)
- 如何实现AOP
- 目标对象只负责业务逻辑代码
- 通知对象负责AOP代码,这二个对象都没有AOP的功能,只有代理对象才有
- 创建一个目标接口跟实现类
- 再创建前置通知类
- 在Spring.xml中配置前置通知
-
//定义前置通知 <bean id="beforeAdivce" class="advice.BeforeAdvice">
- 定义代理对象实现的接口
-
<!--代理=通知+目标,只有完整的代理对象才具备AOP特性,而AOP代码是写在通知中的--> <bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean"> <!--通知--> <property name="interceptorNames"><list><value>beforeAdivce</value></list> </pro
更多推荐
Spring之apo
发布评论