当前位置: 首页 > news >正文

学校网站怎么做的好处广州网站推广

学校网站怎么做的好处,广州网站推广,可以免费做简历的网站,免费英文建设网站一、JDK Jdk动态代理,拿到目标类所继承的接口,生成代理类,并且代理类也会实现和目标类一样的接口。 二、Cglib Cglib代理功能更强,无论目标类是否实现接口都可以代理,他是基于继承的方式类代理目标类,如果…

一、JDK

Jdk动态代理,拿到目标类所继承的接口,生成代理类,并且代理类也会实现和目标类一样的接口。

二、Cglib

Cglib代理功能更强,无论目标类是否实现接口都可以代理,他是基于继承的方式类代理目标类,如果目标类也实现了接口,代理类也会实现一次

public Object getProxy(@Nullable ClassLoader classLoader) {Class<?> rootClass = this.advised.getTargetClass();//目标类Class<?> proxySuperClass = rootClass;if (rootClass.getName().contains("$$")) { //如果目标类也是一个代理类,那么就拿到这个代理类的父类,因为这个代理类的父类,才是我们真正要代理的目标类。然后继承他proxySuperClass = rootClass.getSuperclass();Class<?>[] additionalInterfaces = rootClass.getInterfaces();//如果目标类是一个代理类,那么这个代理实现的接口,也就是新的代理类要实现的接口。this.advised.addInterface(additionalInterfaces); 把接口存起来下面要用}Enhancer enhancer = this.createEnhancer();enhancer.setSuperclass(proxySuperClass);  //设置代理的父类,可能是目标类的类型,可能是目标类的父类。enhancer.setInterfaces(AopProxyUtils.completeProxiedInterfaces(this.advised));  //设置新的代理类要实现的接口。//必实现的接口SpringProxy,如果是切面还会实现Advisedenhancer.setNamingPolicy(SpringNamingPolicy.INSTANCE);enhancer.setStrategy(new ClassLoaderAwareGeneratorStrategy(classLoader));Callback[] callbacks = this.getCallbacks(rootClass);Class<?>[] types = new Class[callbacks.length];。。。。。
}

三、如何选择

那么在Spring创建代理对象的时候是选择Cglib还是Jdk有一段代码

//判断是否是接口或者是否是代理类
if (targetClass.isInterface() || Proxy.isProxyClass(targetClass)) {new JdkDynamicAopProxy(config)
} else {new ObjenesisCglibAopProxy(config)
}public static boolean isProxyClass(Class<?> cl) {return Proxy.class.isAssignableFrom(cl) && proxyClassCache.containsValue(cl);
}

Proxy.class.isAssignableFrom(cl)就是判断cl所表示的类是不是SpringProxy或者SpringProxy的子类。因为所有的代理类都会继承SpringProxy,所以这个条件必须满足。满足这个条件也不能保证就是代理类,因为可能存在人为地编写一个类继承SpringProxy。proxyClassCache.containsValue(cl)这个方法是检查缓存中是否存在这个Class实例cl。只要生成过代理类都会被缓存,所以这个方法才是检测一个类是否是代理类的唯一标准。

http://www.hyszgw.com/news/504.html

相关文章:

  • 有什么做网站优化公司人民日报最新头条10条
  • 网站建设先做后付费黄冈网站seo
  • 南阳做网站优化价格企业互联网推广
  • 网站建设知识营销方案案例范文
  • 外国人爱做视频网站吗淘宝店铺怎么引流推广
  • 网站开发实验总结网络推广有效果吗
  • 德阳公司做网站网络营销策划方案书范文
  • 深圳外贸英语培训汕头seo服务
  • wordpress 修改模版seo软件下载
  • 澳门建设银行官方网站seo门户网价格是多少钱
  • ps做图 游戏下载网站有哪些西安优化seo托管
  • 咸宁网站建设多少钱手机百度安装下载
  • 苏州本地网站有哪些google浏览器官方下载
  • 十大舆情网站识图搜索在线 照片识别
  • 快速设计一个网站seo怎么发布外链
  • 提高网站性能免费广告推广
  • 建网站难吗宁波seo网络推广咨询价格
  • 移动电商网站建设企业网站的主要类型有
  • 网站模板含数据库下载重庆网站网络推广
  • 青海营销型网站建设深圳关键词排名推广
  • 网站如何在百度市场调研流程
  • wordpress 多媒体搜索引擎优化概述
  • vue配合什么做网站比较好上海牛巨微seo优化
  • 如何建网站挣钱成都官网seo厂家
  • 用凡科做的网站要钱吗武汉百度快照优化排名
  • 互联网行业裁员宁德seo培训
  • 如何查询网站备案信息天津做网站的
  • 网站模板 wordpress营销型网站建设的步骤流程是什么
  • 西安市建设网站辽宁好的百度seo公司
  • 广西城乡建设厅网站免费网站建设哪个好