spring aop (面向切面)常用于数据库事务中,使用了2种代理。
jdk动态代理:对实现了接口的类生成代理对象。要使用jdk动态代理,要求类必须要实现接口。
cglib代理:对类生成代理对象。
动态代理与静态代理的区别:
静态代理:是由程序员创建或特定工具自动生成源代码,在对其进行编译。在程序运行之前,代理类的.class文件就已经存在了。
动态代理:在程序运行时,运用反射机制动态创建而成。
spring aop (面向切面)常用于数据库事务中,使用了2种代理。
jdk动态代理:对实现了接口的类生成代理对象。要使用jdk动态代理,要求类必须要实现接口。
cglib代理:对类生成代理对象。
动态代理与静态代理的区别:
静态代理:是由程序员创建或特定工具自动生成源代码,在对其进行编译。在程序运行之前,代理类的.class文件就已经存在了。
动态代理:在程序运行时,运用反射机制动态创建而成。