动态代理生成的类和目标类的关系是“兄弟关系”,而 cglib 生成的类和目标类是“父子关系”!
动态代理让代理类和目标类实现同一个接口,cglib生成一个目标类的子类。mybatis用的动态代理,spring两种都用,以前经常会使用接口bean, 号称动态代理比cglib稳定,但动态代理性能远不如cglib.
动态代理,使java能够支持动态性,在运行时对类进行修改,这样就可以用声明的方式来编程。
(若Java不支持动态性,则就不能在运行时修改一个类,这样就会导致不能用声明的方式来编程)
事务是加在service上的,而不是加载dao上的。