课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 动态代理
  • 动态代理

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

  • 昆明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--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56