JDK动态代理demo-创新互联

1,创建一个UserService类:

成都创新互联是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:成都响应式网站建设公司成都品牌网站建设营销型网站建设。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站建设、网站制作、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。
public interface UserService {
	public String getTheName(int id);  
	  
    public Integer getTheAge(int id);  
}

2,创建实现类UserServiceImpl

public class UserServiceImpl implements UserService {

	@Override
	public String getTheName(int id) {
	     return "小风";  
	}

	@Override
	public Integer getTheAge(int id) {
        return 10; 
	}

}

3, 测试类JDKProxyTest

public class JDKProxyTest implements InvocationHandler {
	private Object target;  
	  
	JDKProxyTest() {  
        super();  
    }  
  
	JDKProxyTest(Object target) {  
        super();  
        this.target = target;  
    }  

	@Override
	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("++++++调用方法之前: " + method.getName() + "++++++");  
        Object result = method.invoke(target, args);  
        System.out.println("++++++调用方法之后: " + method.getName() + "++++++"+result);  
        return result;  
	}
	
	public static void main(String[] args) {
		UserServiceImpl userService = new UserServiceImpl();
		InvocationHandler handler=new JDKProxyTest(userService);
		UserService userServiceProxy=
		         (UserService) Proxy.newProxyInstance(userService.getClass().getClassLoader(), userService.getClass().getInterfaces(), handler);
		System.out.println(userServiceProxy.getTheName(1));
		System.out.println(userServiceProxy.getTheAge(1));
	}
	
}

网站名称:JDK动态代理demo-创新互联
文章分享:http://ybzwz.com/article/dpdjpo.html