动态代理,其实就是一种特殊的增强方法的方式,而增强原有方法不会跟他原先的类发生关系,即没有继承关系,也没有实现关系。
只是用一个无关的代理类,让它拿到需要增强的类的字节码文件后,用它创建对象,并用invoke执行原有的方法。在invoke前后可以实现某些增强的功能,或开启事务,提交事务,回滚事务,写日志,权限检验等。
动态代理,其实就是一种特殊的增强方法的方式,而增强原有方法不会跟他原先的类发生关系,即没有继承关系,也没有实现关系。
只是用一个无关的代理类,让它拿到需要增强的类的字节码文件后,用它创建对象,并用invoke执行原有的方法。在invoke前后可以实现某些增强的功能,或开启事务,提交事务,回滚事务,写日志,权限检验等。