昆明java培训
达内昆明广州春城路

18487146383

热门课程

动态代理

  • 时间:2016-08-31
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明Java培训机构的老师今天给大家讲动态代理:

既然是动态代理模式就不需要UserManagerImplProxy这个代理类了。

需要声明一个类实现InvocationHandler接口,并定义一个newProxy的方法返回动态代理

1 package com.dwr.spring.proxy;

2

3 import java.lang.reflect.InvocationHandler;

4 import java.lang.reflect.Method;

5 import java.lang.reflect.Proxy;

6

7 public class SecurityHandler implements InvocationHandler {

8    private Object targetObject;

9

10    public Object newProxy(Object targetObject){

11        this.targetObject = targetObject;

12        //返回动态代理

13        return Proxy.newProxyInstance(targetObject.getClass().getClassLoader(),targetObject.getClass().getInterfaces(),this);

14    }

15

16

17    public void checkSecurity(){

18        System.out.println("--------UserManagerImpl.checkSecurity()----------");

19    }

20

21    @Override

22    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

23        checkSecurity();

24        Object ret = null;

25

26        try {

27            //调用目标对象的真实方法,将返回值保存在ret中

28            ret = method.invoke(this.targetObject, args);

29        } catch (Exception e){

30            e.printStackTrace();

31        }

32        return ret;

33    }

34 }

了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:Spring笔记--代理模式
下一篇:客户端测试

Java面试3大经验,线程间协作原理

iPhone摄像头发展史一步一个脚印

腾讯游戏Switch独立销量领先——昆明达内

达内java语言编程学以致用

选择城市和中心
贵州省

广西省

海南省