spring-IOC底层机制
2024-08-28 19:25:24
JDK与CGLIB的动态代理
JDK动态代理
创建代理的方法
将需要代理的类传入代理类中(通过构造方法)
在代理方法中创建代理实例(需要一个接口和一个实现接口的类):
Proxy.newProxyInstance(类的加载器(类.getClass().getClassLoader()),实现的接口(类.getClass.getInterfaces()),接口的实例化对象(this或者通过匿名类new的对象));
This关键字?代指当前对象------------通过this需要代理类实现InvocationHandler接口
重写invoke()方法
调用增强后的对象
CGLIB的动态代理
Jdk动态代理需要实现接口,CGLIB则是为一个类创建子类不需要接口
引入CGLIBjar包或者spring的依赖包
创建代理的方法
将需要代理的类传入代理类中(通过构造方法)
在代理方法中创建代理实例
代理类实现MethodInterceptor接口
实现intercept方法
总结
最新文章
- CentOS系统下安装配置ftp服务
- 升级到iOS9之后的相关适配
- 每一个程序员需要了解的10个Linux命令
- java解析xml禁止校验dtd
- 11g 重建EM 报ORA-20001: SYSMAN already exists
- ubuntu netbeans compile ygopro client with google protobuf lib
- MSSQL BACKUP WEBSHELL
- Namespace declaration statement has to be the very first
- maven, sesame, openrdf, eclipse 的初始学习
- css中的media
- Help improve Android Studio by sending usage statistics to Google
- Javascript中的bind()函数
- Excception and Error
- ERROR namenode.NameNode: Failed to start namenode. java.lang.IllegalArgument
- 谷歌浏览器运行Flash
- Python之缩进块
- Visual Stuido快捷键
- visualstudio学习
- salt之grains组件
- Python 执行主程序