六:自动代理:
不用自己配置代理类,由系统提供的类自动代理
1.BeanNameAutoProxyCreator:根据bean的id,织入切面
需要配置的两个属性:
(1)beanNames:配置要织入的目标对性列表
(2)inteceptorNames:要织入的切面
2.DefaultAdvisorAutoProxyCreator:自动匹配的所有的Advisor和目标对象
七:Aspect J的方式实现Aop编程
1.定义:AspectJ是使用注释(标注)的方式编写Aop程序
2.要求:jdk5.0或更高版本 和 spring2.0
3.声明的通知
(1)@Before:前置通知
(2)@AfterReturning:后置,要获得返回值,必须使用returning属性
(3)@AfterThrowing:异常,绑订连接点是,必须使用throwing属性
(4)@After:后置通知+异常通知
(5)@Around:要使用ProceedingJoinPoint调用目标对象方法,注意,调用目标方
法,应该有返回值
(6)@DeclareParentsD:引入
例子:
@AfterReturning(“execution(* register( ..))”)
@ AfterReturning(value=“execution(* register
( ..))”,returning=”retVal”)
value:代表要过滤的方法签名
returning:代表返回值的变量,可以在切面方法的参数列表里面,
要求那个参数名字必须为retVal
@DeclareParents(value="aop3.SomeServiceImpl",
defaultImpl=OtherServiceImpl.class)