- 浏览: 144086 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
hacker_zxf:
最近再去看quartz实现,job都是new出来的,如果需要自 ...
Quartz--JAVA计划任务 -
hacker_zxf:
quartz 的扩展型做的不好,本来试图将表达式扩展成支持毫秒 ...
Quartz--JAVA计划任务 -
piaoxue_x:
嗯,看看。。。。貌似不错,谢谢了。。。
Quartz--JAVA计划任务 -
673341766:
麻烦你看一下 红色的信息是报错好吧.
Quartz--JAVA计划任务 -
helong0904:
...
spring quartz配置定时器
public class Man { public String say() { System.out.println("cglib hello~~~"); return "return cglib hello"; } }
import java.lang.reflect.Method; import net.sf.cglib.proxy.CallbackFilter; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; public class AOPInstrumenter implements MethodInterceptor,CallbackFilter { private Enhancer enhancer = new Enhancer(); private Object sub; public AOPInstrumenter(Object obj) { super(); this.sub = obj; } public Object getInstrumentedClass(Class clz) { enhancer.setSuperclass(clz); //設置callback是this enhancer.setCallback(this); //添加 方法过滤器 返回1为不运行 0 为运行 enhancer.setCallbackFilter(this); return enhancer.create(); } public Object intercept(Object o, Method method, Object[] arg, MethodProxy proxy) throws Throwable { System.out.println("cglib 111111"); Object obj = proxy.invoke(sub, arg); System.out.println("cglib 222222"); return obj; } public int accept(Method method) { System.out.println("accept........."+method.getName()); return 0; } }
public class AOPTest { public static void main(String[] args) { Man man = new Man(); AOPInstrumenter instrumenter = new AOPInstrumenter(man); Man man1 = (Man) instrumenter.getInstrumentedClass(Man.class); man1.say(); } }
運行結果:
accept.........say accept.........hashCode accept.........finalize accept.........clone accept.........equals accept.........toString cglib 111111 cglib hello~~~ cglib 222222
-------------------------------------------
稍作修改:
import java.lang.reflect.Method; import net.sf.cglib.proxy.CallbackFilter; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; public class AOPInstrumenter implements CallbackFilter { public Object getInstrumentedClass(Class clz) { Enhancer enhancer = new Enhancer(); //设置需要代理的类 enhancer.setSuperclass(clz); //設置callback是this enhancer.setCallback(new ManMethodInterceptor()); //添加 方法过滤器 返回1为不运行 0 为运行 enhancer.setCallbackFilter(this); //创建一个代理 return enhancer.create(); } public int accept(Method method) { System.out.println("accept........."+method.getName()); return 0; } }
import java.lang.reflect.Method; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; public class ManMethodInterceptor implements MethodInterceptor{ public Object intercept(Object o, Method method, Object[] arg, MethodProxy proxy) throws Throwable { System.out.println("cglib 111111 name: " + method); //Object obj = proxy.invoke(o, arg); Object obj = proxy.invokeSuper(o, arg); System.out.println("cglib 222222"); return obj; }
public class AOPTest { public static void main(String[] args) { AOPInstrumenter instrumenter = new AOPInstrumenter(); Man man1 = (Man) instrumenter.getInstrumentedClass(Man.class); man1.say(); } }
发表评论
-
JAVA 应用监控
2011-11-17 15:09 1099监控一个应用可以有很多好处,xxxxx 这里就不说了 不同应 ... -
顺序打印ABC,连续打10次
2011-06-14 22:23 1544import java.util.concurrent.ato ... -
JVM内存模型以及垃圾回收教程概述【转】
2011-01-18 15:21 919摘自:http://www.zhixing123. ... -
JAVA并发编程(一) 并发基础
2011-01-05 19:32 9354. 组合对象线程安全 4.1 设计线程安全的类 使用公共 ... -
[转]JAVA语言的反射和内省
2010-11-25 12:04 721转自: http://blog.csdn.net/ ... -
java 强、软、弱、虚引用
2010-11-18 22:54 9731.强引用 本章前 ... -
计算机常识:字符编码简介——ASCII、Unicode、UTF-8、GB2312
2010-11-03 14:40 1215字符编码简介:ASCII,Unicode,UTF-8,GB23 ... -
Apache Log4j配置说明
2010-10-25 21:00 634Apache Log4j配置说明 摘自Blog: http:/ ... -
java.lang.reflect 动态代理
2010-04-25 20:01 821public interface IReport { ... -
META-INF中的MANIFEST.MF的作用
2010-03-28 18:21 1211MANIFEST中的配置信息共有下面几类:一. 一般属性1. ... -
JAVA的容器---List,Map,Set
2009-12-22 22:09 676JAVA的容器---List Map Set Coll ... -
annotation 例子
2009-11-28 05:29 934@Retention : RetentionPolicy. S ... -
JAVA 同步 (一)
2009-11-09 21:36 623永远只能更新对象的成员变量时加锁 永远只能在访问有可能被更新对 ... -
JAVA中枚举(Enum)的系列文章 - 反向查找、总结
2009-05-12 14:00 1809转自:http://www.sinojava.co ... -
反射例子
2009-04-20 20:18 983定义一个用户,作为被反射对象; public class Us ... -
两个反射的小例子
2009-04-15 16:04 889HashMap map = new HashMap(); ... -
utf转UnicodeBig
2008-12-23 20:06 906今天遇到一个奇怪的问题,代码如下: public ... -
ResourceBundle例子
2008-12-22 15:41 1451public class TestResourceBundle ... -
eclipse new class注释模板
2008-12-19 13:10 1377/** * @{#} ${file_n ... -
CountDownLatch 线程助手
2008-12-10 13:38 1141JAVA API (CountDownLatch) clas ...
相关推荐
CGLIB简介CGLIB简介CGLIB简介CGLIB简介CGLIB简介
赠送jar包:cglib-3.1.jar; 赠送原API文档:cglib-3.1-javadoc.jar; 赠送源代码:cglib-3.1-sources.jar; 赠送Maven依赖信息文件:cglib-3.1.pom; 包含翻译后的API文档:cglib-3.1-javadoc-API文档-中文(简体)版...
开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4开发工具 cglib-3.2.4...
cglib包及依赖汉cglib3.1和asm4.2,主要作用是用户代理,代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。...
CGLIB介绍与原理(部分节选自网络) 一、什么是CGLIB? CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要...
cglib
cglib.zip
cglib 的jar包,用于做动态代理的,但是版本太高不知道会不会有影响
基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)...
里面包含完整的cglib-nodep-2.2.jar和asm-2.2.3.jar,放心下载
cglib-3.2.5.jar、cglib-nodep-3.2.5.jar、cglib-RELEASE_3_2_5.tar.gz(源码)、cglib-RELEASE_3_2_5.zip(源码)
赠送jar包:cglib-nodep-3.2.4.jar; 赠送原API文档:cglib-nodep-3.2.4-javadoc.jar; 赠送源代码:cglib-nodep-3.2.4-sources.jar; 赠送Maven依赖信息文件:cglib-nodep-3.2.4.pom; 包含翻译后的API文档:cglib-...
Cglib最新版本的2个jar包,分别是cglib-3.3.0.jar和cglib-nodep-3.3.0.jar,压缩后上传,方便大家使用。
赠送jar包:cglib-3.3.0.jar; 赠送原API文档:cglib-3.3.0-javadoc.jar; 赠送源代码:cglib-3.3.0-sources.jar; 赠送Maven依赖信息文件:cglib-3.3.0.pom; 包含翻译后的API文档:cglib-3.3.0-javadoc-API文档-...
SSH2环境搭建asm和cglib的包冲突,使用cglib-2.2.3.jar
Cglib的jar文件,包含:asm.jar、asm-commons.jar、asm-tree.jar、cglib-2.2.jar 四个jar包
at net.sf.cglib.core.ReflectUtils.getMethodInfo(ReflectUtils.java:424) at net.sf.cglib.beans.BeanCopier$Generator.generateClass(BeanCopier.java:133) at ...
CGLIB-DOC,CGLIB说明文件.
cglib-3.2.5.jar的jar包 十分好用的一个动态代理包
cglib-2.2.2源码