Spring中应用java动态代码实现Aop
2012-05-10 14:22
513 查看
用三个类来举例说明java动态代码实现方法
Spring的做法,基于接口的用proxy
普通接口类
实现接口类
动态代理句柄
测试类
此时就可以实现代码
Spring的做法,基于接口的用proxy
普通接口类
package com.jamesby.proxy; public interface CarCompany { public void makeCar(); public void abc(); }
实现接口类
package com.jamesby.proxy; public class CarCompanyImpl implements CarCompany { public void makeCar() { System.out.println("Company A make a car!"); abc(); } public void abc() { System.out.println("abc is invoked!"); } }
动态代理句柄
package com.jamesby.proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; public class CarCompanyHandler implements InvocationHandler { CarCompany com; public CarCompanyHandler(CarCompany com) { this.com = com; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("time1:" + System.currentTimeMillis()); method.invoke(this.com, new Object[]{}); System.out.println("time2:" + System.currentTimeMillis()); return null; } }
测试类
package com.jamesby.proxy; import java.lang.reflect.Proxy; public class Test { public static void main(String[] arg) { CarCompanyImpl a = new CarCompanyImpl(); CarCompanyHandler handler = new CarCompanyHandler(a); // 产生一个新的代理类 CarCompany com = (CarCompany) Proxy.newProxyInstance(Test.class .getClassLoader(), new Class[] { CarCompany.class }, handler); com.makeCar(); } }
此时就可以实现代码
相关文章推荐
- spring AOP 之 xml 配置实现(附 Java 代码实例)
- Java基础---Java---基础加强---类加载器、委托机制、AOP、 动态代理技术、让动态生成的类成为目标类的代理、实现Spring可配置的AOP框架
- 使用Spring AOP结合自定义Java注解实现动态数据源设置
- Java基础---Java---基础加强---类加载器、委托机制、AOP、 动态代理技术、让动态生成的类成为目标类的代理、实现Spring可配置的AOP框架
- spring AOP 之 注解 配置实现(附 Java 代码实例)
- java使用动态代理来实现AOP(日志记录)的实例代码
- Spring AOP java动态代理实现
- JAVA动态代理 和 Spring AOP 4种通知的简单实现
- spring AOP 之 注解 配置实现(附 Java 代码实例)
- java 代理模式,JDK动态代理,SpringAOP的实现
- Java利用动态代理模拟实现Spring的AOP(面向切面编程)功能的小实践
- JAVA动态代理 和 Spring AOP 4种通知的简单实现
- java使用动态代理来实现AOP(日志记录)的实例代码
- JAVA动态代理 和 Spring AOP 4种通知的简单实现
- Spring AOP与Java动态代理
- 反射实现 AOP 动态代理模式(Spring AOP 的实现 原理)
- java代码实现利用 classloader 动态加载 jar包、文件夹到classpath中
- 使用Java动态代理技术实现AOP
- JAVA的动态代理机制及Spring的实现方式
- java动态代码的实现以及Class的卸载 (转至http://dustin.iteye.com/blog/46393)