1.引入代理:
为已存在的多个具有同一接口的各个方法增加一些系统功能。例如,异常处理、日志、计算方法的运行时间、事务管理等等。
2.代理的优点:
如果采用工厂模式和配置文件的方式进行管理,则不需要修改客户端程序,在配置文件中配置是使用目标类、还是代理类,这样以后很容易切换,譬如,想要日志功能时就配置代理类,否则配置目标类,这样,增加系统功能很容易,以后运行一段时间后,又想去掉系统功能也很容易。
反射实现 AOP 动态代理模式(Spring AOP 的实现原理)
原文:http://www.cnblogs.com/wtyqer/p/3526101.html