一,AOP介绍
AOP含义:(Aspect Oriented Programming)是软件编程思想发展到一定阶段的产物,是对面向对象编程的有益补充。AOP一般适用于具有横切逻辑的场合,如访问控制,事务管理,性能监测等。
AOP概念:
切面(Aspect) :官方的抽象定义为“一个关注点的模块化,这个关注点可能会横切多个对象”。
连接点(Joinpoint) :程序执行过程中的某一行为。
增强处理(Advice) :“切面”对于某个“连接点”所产生的动作。
切入点(Pointcut) :匹配连接点的断言,在AOP中通知和一个切入点表达式关联。
目标对象(Target Object) :被一个或者多个切面所通知的对象。
AOP代理(AOP Proxy): 在Spring AOP中有两种代理方式,JDK动态代理和CGLIB代理。
织入(Weaving):将增强处理连接到应用程序中的类型或对象上的过程。
二,增强类型
前置增强(Before advice) :在某连接点(JoinPoint)之前执行的通知,但这个通知不能阻止连接点前的执行。ApplicationContext中在<aop:aspect>里面使用<aop:before>元素进行声明。
后置增强(After advice) :当某连接点退出的时候执行的通知(不论是正常返回还是异常退出)。ApplicationContext中在<aop:aspect>里面使用<aop:after>元素进行声明。
异常抛出增强
最终增强
环绕增强
三,增强案例
增强类:
配置文件:
四,依赖注入
五,不同数据类型注入
实体类:
配置文件:
测试类:
六,域属性注入
实体类:
配置文件:
测试类: