Java的代理有几种实现方式?
动态代理
JDK >>> Proxy
1 面向接口的动态代理 代理一个对象去增强面向某个接口中定义的方法
2 没有接口不可用
3 只能读取到接口上的一些注解
MyBatis
DeptMapper dm=sqlSession.getMapper(DeptMapper.class)
第三方 CGlib
1 面向父类的动态代理
2 有没有接口都可以使用
3 可以读取类上的注解
AOP 日志 性能检测 事务
MyBatis 源码 spring源码