spring AOP理解——spring中的CGLIB实现AOP功能
来源:互联网 发布:gif剪裁软件 编辑:程序博客网 时间:2024/05/23 16:00
使用spring中的CGLIB实现AOP功能--代码
import java.lang.reflect.Method;
import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
public class CglibProxyFactory implements MethodInterceptor {
private Object targetObj;
/**
* 为目标对象创建代理类
*
* 传入要代理类,创建此类的代理实例
*
* @param targetObj
* 目标对象
* @return 返回目标对象的代理类
*/
public Object createProxyInstances(Object targetObj) {
this.targetObj = targetObj;
Enhancer en = new Enhancer();
en.setSuperclass(this.targetObj.getClass());
en.setCallback(this);
return en.create();
}
@Override
public Object intercept(Object proxy, Method method, Object[] arg2, MethodProxy arg3)throws Throwable {
MyServiceImpl myservice = (MyServiceImpl) targetObj;
Object result = null;
if (myservice.getTemp() != null) {
result = method.invoke(targetObj, arg2);
}
return result;
}
}
测试
@Test
public void testCglibProxy() {
CglibProxyFactory proxy = new CglibProxyFactory();
MyServiceImpl ms = (MyServiceImpl) proxy.createProxyInstances(new MyServiceImpl("xxx"));
ms.save();
}
- spring AOP理解——spring中的CGLIB实现AOP功能
- Spring-AOP-cglib实现
- JAVAWEB开发之Spring详解之——AOP底层剖析(基于JDK和cglib)、Spring中的AOP以及基于AspectJ的AOP实现、Spring的JDBCTemplate详解
- 【Spring】——AOP实现原理(基于JDK和CGLIB)
- 使用jdk和cglib实现spring的aop功能
- Spring学习笔记(14)----使用CGLIB实现AOP功能
- Spring中的AOP功能
- Spring中的AOP理解
- Spring中的AOP理解
- spring aop与cglib aop
- Spring AOP的实现——对AOP的理解
- Spring 实现AOP功能
- 实现AOP — CGLIB
- spring中的Cglib字节码增强实现AOP
- spring aop as cglib
- Spring AOP 实现原理与 CGLIB 应用
- Spring AOP 实现原理与 CGLIB 应用
- Spring AOP 实现原理与 CGLIB 应用
- Linux音频编程指南(1)
- springAOP理解——java中的proxy实现AOP功能
- java Json JQuery
- KissXML 简易教程
- URI的用法
- spring AOP理解——spring中的CGLIB实现AOP功能
- 新学期,新开始
- poj3096 Surprising Strings
- ubuntu下配置环境变量
- UILabel的各种属性与方法的使用
- Javascript: unterminated string literal 解决方法
- poj1226 Substrings
- gnu octave
- mssql表转为.sql脚本文件(timestamp不需处理,image,text,ntext,sql_variant 暂时不处理)