动态代理&注解简单分享



增强一个对象的某个方法有几种方式?
 a.继承
    条件:需要知道其父类
 b.装饰者模式
   不需要知道其父类是谁,只知道其实现的哪个借口即可
   条件:装饰者与被装饰者需要实现同一个接口;装饰者有被装饰者的引用
 c.动态代理
   条件:必须知道被代理的类或者对象是谁
 
1.动态代理
 使用动态代理很简单,明白动态代理能做什么和使用的条件即可。
 注:java已经给我们提供好了使用动态代理的方法,我们只需要运用proxy的方法即可。
 方法:
 Interface BeanProxy=Proxy.NewProxyInstance(
   ClassLoader loader,
   Interface,
   new InvocationHandler() {
   
   @Override
   public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    //invoke(np.getClass().newInstance(), method, args);
    method.invoke(np.getClass().newInstance(), args);
    System.out.println("增强方法");
    return null;
   }){};
 参数分析:
   a.Classloader代表被代理类所实现接口的加载器
  b.Interface代表被代理类所实现的接口(可以是多个接口)
  c.InvocationHandler代表需要增强的方法(内容)
 细节1:BeanProxy.方法();无论执行的是类的哪一个方法,都会执行一遍invoke方法。
 细节2:判断只对某个方法进行增强,其他方法不增强。(可以使用if)
 细节3:return返回值,谁调用返回给谁,返回的内容就是最终的结果。

2.注解

 常见的注解:@voerride 标记方法重写
       @SuppressWarnings 压制警告
      @Deprecated 标记方法过时
 元注解:@Target 描述注解的适用范围
   @Retention 表示需要在什么级别保存该注解,描述注解的生命周期
 自定义注解:注解的本质--接口
      注解的属性名--接口方法的方法名
      注解的属性值--接口方法的返回值
 注:注解的出现其实是为了替代xml,但是没有完全替代
     自定义的注解,如果只有一个方法,通常起名为value,并且在添加注解属性的时候可以省略value。
 补充:类加载器
  class文件加载到内存中形成class对象,这个过程就是累加载,而做这件事的东西就是加载器。
       类加载器的组成:引导类加载器  扩展类加载器  应用类加载器

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值