http://jakarta.apache.org/bcel/index.htmlASM 按照SAX方式(Visitor模式)操作Byte Code。
http://asm.objectweb.org/有了Byte Code操作工具,就可以在运行期间动态生成代理类了。cglib就是这样一个动态代理类的生成工具。
http://cglib.sourceforge.net/cglib能够生成多种丰富的动态代理类。JDK1.4引入了动态代理类的简单实现(只提供一种代理类)。包括java.lang.reflect包的Proxy类和InvocationHandler类这两个标准的API。操作Byte Code的具体类是sun.misc.ProxyGenerator类。Sun JDK 源代码下载:
http://wwws.sun.com/software/communitysource/先注册并登录到“Sun Community Source Licensing”,然后下载J2SE(几十兆)或者J2EE(几百兆)。动态代理是实现AOP的一种流行的方法。关于JDK1.4 Proxy的具体用法。这里不再赘述。下面有些中文文章。Banq的文章。
http://www.jdon.com/AOPdesign/spring.htm还有:
http://www-900.ibm.com/developerWorks/cn/java/l-connpoolproxy/index.shtml