cglib动态代理简单的例子
来源:互联网 发布:vscode emmet语法 编辑:程序博客网 时间:2024/04/28 03:12
在spring中,提供了两种动态代理机制,一种是JDK自带的,一种是cglib的动态代理。
<aop:aspectj-autoproxy poxy-target-class="true"/> 这里的true就表示cglib代理
==
package faicm.agent.cglib;/** * 这个是没有实现接口的实现类 * * @author student * */public class PersonDoImpl {public void addPerson() {System.out.println("增加图书的普通方法...");}}
==
package faicm.agent.cglib;import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;/** * 使用cglib动态代理 */public class PersonCglib implements MethodInterceptor {private Object obj;/** * 创建代理对象 上面的obj很随意 ,可以随便该。 */public Object getInstance(Object target) {this.obj = target;Enhancer enhancer = new Enhancer();enhancer.setSuperclass(this.obj.getClass());// 可变enhancer.setCallback(this);// 这个this是指MethodInterceptor 实现类的intercept方法return enhancer.create();}public Object intercept(Object obj, Method method, Object[] args,MethodProxy proxy) throws Throwable {System.out.println("做了一些事情");proxy.invokeSuper(obj, args);System.out.println("做了一些事情");return null;}}
==
package faicm.agent.cglib;public class TestCglib {public static void main(String[] args) {PersonCglib cglib = new PersonCglib();PersonDoImpl bookCglib = (PersonDoImpl) cglib.getInstance(new PersonDoImpl());bookCglib.addPerson();}}
代码来自网络修改后的,代码流程有些乱。。。。。。
0 0
- cglib动态代理简单的例子
- 动态代理和cglib的简单理解
- 【Spring】cglib动态代理例子
- cglib的动态代理
- Cglib的动态代理
- java动态代理与cglib代理的简单使用
- 自己写的Cglib动态代理的例子
- cglib动态代理简单介绍
- CGLib动态代理原理及实现的一个小例子
- Cglib动态代理源码例子解析
- Java的CGLib动态代理
- CGLIB 动态代理的实现
- 基于cglib的动态代理
- 简单动态代理实例(使用cglib)
- 简单模拟Spring AOP功能 (2) JDK动态代理技术和CGLib的动态代理
- java 代理模式 CGLIB的动态代理
- java自身的动态代理简单例子。
- java动态代理--一个简单的例子
- OC视频笔记(不可变字典常用方法,与优化方法)(可变字典的常用方法)
- nova quota
- RBM为什么选择logsitic函数?
- 网页html中嵌入特殊字体
- MFC六大核心机制之一:MFC程序的初始化
- cglib动态代理简单的例子
- 【iOS百度地图系列_1】在地图上定位当前位置
- IOS-UIMenuController 和 UIResponderStandardEditActions
- 指针与数组用法笔记
- MFC六大核心机制之二:运行时类型识别(RTTI)
- Docker生态系统系列之一:常用组件介绍
- MFC六大核心机制之三:动态创建
- MFC六大核心机制之四:永久保存(串行化)
- MFC六大核心机制之五、六:消息映射和命令传递