四年是的搜索

手机号好从是
就是 是是
四点多醋
数控车床是
速是代理模式

动态代理

  动态代理可能为我们动态的生成代理类和代理对象;
  目前java动态代理的实现有两种:
    1.JDK的动态代理。
    2.基于CGlib的动态代理。

  JDK的动态代理:
    proxy:用来创建代理类和对象;
    InvocationHandler:调用处理器;
    Method:方法;

  JDK的动态代理的开发步骤:

  1.创建目标对象和接口(真实对象和抽象对象);
  2.创建一个InvocationHandler的实现类并实现invoke方法;
  3.通过Proxy.newProxyInstance()方法来获得代理对象;
  4.调用代理对象的方法;

  JDK动态代理的理解:

MyInvocationHandler 接口{
    invoke(){
    }
}

  真实对象
  UserService

  代理对象
  userService2=Proxy.newProxyInstance(ClassLoader,接口,MyInvocationHandler)

  当我们调用userService2.save();时,程序会调用MyInvocationHandler中的invoke方法;
  即,当我们调用代理对象的方法时,会将请求发送给InvocationHandler的invoke方法;

  相关实际类比

    真实对象  userService      servlet

    过滤器   invocationHandler  filter

    方法    invoke        doFilter

    在调用servlet之前,filter会先进行请求拦截,而相对于代理而言,则是在调用userService之前,invocationHandler会进行请求拦截。invoke之于InvocationHandler,就相当于doFilter之于filter。

  为什么要使用代理模式
  当你需要使用的一个类不在本地主机而在其他地方时,使用代理可以减少你获取该类,并且使用的时间,使用代理可以方便快捷的获取到类,而不适用则需要进行copy相关操作,非常麻烦
  为了类的单一性原则问题,通常我们在调用类时需要其他更多的操作,比如权限控制,这时我们需要尽量不在原类中编写,而在代理类中编写是一个很好地选择。
结合实际开始
看时刻时刻
酒红色时间长
快说出

借记卡会计
是师
亅是的
小黑黑
新建

产品日常 文章被收录于专栏

没有特别说明

全部评论

相关推荐

10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
牛客154160166号:9月底还给我发短信,好奇怪,我24届的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务