面向方面编程。
ProxyFactoryBean是Factory接口的实现类。FactoryBean负责实例化一个Bean,
即
UserDao的实现类:
业务逻辑层:
在UserBiz中,声明两个方法:
UserBiz的实现类:
方面代码:
实现特定功能的方面代码在AOP概念中被称为“通知(Advice)”。通知分为前置通知、后置通知、环绕通知和异常通知。
前置通知:(log4j的配置不做介绍)
配置ApplicationContext.xml文件:
测试类:
总结:虽然没有看过源码,但个人感觉,测试类中UserBiz通过getBean(“ub”)获取实例,是ProxyFactoryBean会自动在配置的xml中返回实例,并且让指定的通知在方法执行前执行。
LogAdvice(指定的通知)做的事:获取类名、方法名,将其写入日志中。
结果:
[INFO ] [18:02:32] com.xue.aop.LogAdvice - 前置通知:com.xue.dao.UserBizImpl类的addUser方法开始执行
zhangsan用户添加成功
[INFO ] [18:02:32] com.xue.aop.LogAdvice - 前置通知:com.xue.dao.UserBizImpl类的delUser方法开始执行
编号为1的用户被删除