顾问包装通知
通知(advice):Spring中的一种比较简单的切面,只能将切面织入到目标类的所有方法中,而无法对指定方法进行增强
顾问(advisor):Spring提供的另外一种切面,可以织入到指定的方法接口 PointcutAdvisor
实现类:NameMatchMethodPointcutAdvisor(基于方法名称的增强顾问),RegexpMethodPointcutAdvice(基于正则表达式的增强顾问)
实例:
DOSomeService接口:

DoSomeServiceImpl实现类:

BeforAdvice增强类:

application-advisor.xml文件:

测试:

结果:

顾问代理生成器
顾问代理生成器,当我们声明好顾问后为目标对象生成代理对象。如果项目中 存在多个代理对象的话,需要实例化许多的ProxyFactoryBean,我们可以使用顾问代理生成器来解决这个问题。
自动顾问代理生成器
实例:
IService接口:

IServiceImpl实现类:

Advisor增强类:

applicationContext-advisor.xml文件:

测试:

结果:

名称顾问代理生成器
IService接口:

IServiceImpl实现类:

UserServiceImpl实现类:

Advisor增强类:

applicationContext-advisor.xml文件:

测试:

结果:

posted on
浙公网安备 33010602011771号