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

网页设计中优秀的网站企业网站主要有哪四种类型

网页设计中优秀的网站,企业网站主要有哪四种类型,西宁网站建设君博推荐,wordpress 视频分集动态代理jdk的Proxy与Spring的CGlib 文章目录 动态代理jdk的Proxy与Spring的CGlib1. 为什么要使用动态代理#xff1f;2. JDK Proxy 动态代理面向接口的动态代理3. CGlib动态代理4. 两个动态代理的区别 1. 为什么要使用动态代理#xff1f; 动态代理#xff1a;在不改变原有…动态代理jdk的Proxy与Spring的CGlib 文章目录 动态代理jdk的Proxy与Spring的CGlib1. 为什么要使用动态代理2. JDK Proxy 动态代理面向接口的动态代理3. CGlib动态代理4. 两个动态代理的区别 1. 为什么要使用动态代理 动态代理在不改变原有代码的情况下上进行对象功能增强 使用代理对象代替原来的对象完成功能 进而达到拓展功能的目的 2. JDK Proxy 动态代理面向接口的动态代理 特点: 一定要有接口和实现类的存在 代理对象增强的是实现类 在实现接口的方法重写的方法生成的代理对象只能转换成 接口的不能转换成 被代理类代理对象只能增强接口中定义的方法 实现类中其他和接口无关的方法是无法增强的代理对象只能读取到接口中方法上的注释 不能读取到实现类方法上的注解 使用方法: public class Test01 {public static void main(String[] args) {Person personnew Student(xjz_2002);// 通过Porxy动态代理获得一个代理对象,在代理对象中,对某个方法进行增强 // ClassLoader loader,被代理的对象的类加载器ClassLoader classLoader dinner.getClass().getClassLoader(); // Class?[] interfaces,被代理对象所实现的所有接口Class[] interaces dinner.getClass().getInterfaces(); // InvocationHandler h,执行处理器对象,专门用于定义增强的规则InvocationHandler handler new InvocationHandler(){// invoke 当我们让代理对象调用任何方法时,都会触发invoke方法的执行public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { // Object proxy, 代理对象 // Method method,被代理的方法 // Object[] args,被代理方法运行时的实参Object resnull;if(method.getName().equals(eat)){System.out.println(饭前洗手);// 让原有的eat的方法去运行res method.invoke(dinner, args);System.out.println(饭后刷碗);}else{// 如果是其他方法,那么正常执行就可以了res method.invoke(dinner, args);}return res;}};Dinner dinnerProxy (Dinner) Proxy.newProxyInstance(classLoader,interaces,handler);//dinnerProxy.eat(馒头);dinnerProxy.drink();} } interface Person{void eat(String foodName);void drink(); } class Student implements Person{private String name;public Student(String name) {this.name name;}Overridepublic void eat(String foodName) {System.out.println(name正在宿舍吃foodName);}Overridepublic void drink( ) {System.out.println(name正在喝可乐);} } class Teacher implements Person{private String name;public Teacher(String name) {this.name name;}Overridepublic void eat(String foodName) {System.out.println(name正在食堂吃foodName);}Overridepublic void drink( ) {System.out.println(name正在喝茶);} }3. CGlib动态代理 cglib动态代理模式是面向父类 特点 面向父类的和接口没有直接关系 不仅可以增强接口中定义的方法还可以增强其他方法可以读取父类中方法上的所有注解 使用实例 public class Test02 {Testpublic void testCglib(){Person person new Person();// 获取一个Person的代理对象// 1 获得一个Enhancer对象Enhancer enhancernew Enhancer();// 2 设置父类字节码enhancer.setSuperclass(person.getClass());// 3 获取MethodIntercepter对象 用于定义增强规则MethodInterceptor methodInterceptornew MethodInterceptor() {Overridepublic Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {/*Object o, 生成之后的代理对象 personProxyMethod method, 父类中原本要执行的方法 Person eat()Object[] objects, 方法在调用时传入的实参数组MethodProxy methodProxy 子类中重写父类的方法 personProxy eat()*/Object res null;if(method.getName().equals(eat)){// 如果是eat方法 则增强并运行System.out.println(饭前洗手);resmethodProxy.invokeSuper(o,objects);System.out.println(饭后刷碗);}else{// 如果是其他方法 不增强运行resmethodProxy.invokeSuper(o,objects); // 子类对象方法在执行,默认会调用父类对应被重写的方法}return res;}};// 4 设置methodInterceptorenhancer.setCallback(methodInterceptor);// 5 获得代理对象Person personProxy (Person)enhancer.create();// 6 使用代理对象完成功能personProxy.eat(馒头);} } class Person {public Person( ) {}public void eat(String foodName) {System.out.println(xjz_2002正在吃foodName);} } 4. 两个动态代理的区别 JDK动态代理是面向接口的只能增强实现类中接口中存在的方法。CGlib是面向父类的可以增强父类的所有方法JDK得到的对象是JDK代理对象实例而CGlib得到的对象是被代理对象的子类
http://www.yutouwan.com/news/3933/

相关文章:

  • 很多搜索词网站怎样做烟台开发区网站
  • 重庆网站优化公司怎么样顶格处罚鼠头鸭脖涉事企业
  • 做婚恋网站多少钱电子商城网站建设的实训内容记述
  • 太原电商网站设计百度自媒体怎么注册
  • 网站内部链接的策略wordpress 图片弹出
  • 网站建设系统有哪些十堰网站建设专家
  • 网站设计应该考虑的重要因素自己做网站seo
  • 上海最大的网站建设怎样做公司网站推广
  • 软文网站有哪些买房网
  • 网站开发合同售后服务大理网站建设
  • 盗版小说网站怎么赚钱企业融资的方式有哪几种
  • wordpress站点标题美化网站架构计划书
  • 购物网站开发总结报告清空wordpress数据库
  • excel中批量做网站的超链接商城网站建设框架
  • 建成区违法建设治理网站分销体系搭建
  • 帮一个企业做网站流程广告网站模板下载 迅雷下载安装
  • 成都门户网站有哪些婚纱摄影网站html
  • 搭建网站详细步骤为外国企业做中文网站建设
  • 建设网站编程语言广告效果图设计
  • 塘坑网站建设怎么做公司logo
  • 做企业网站的要点wordpress菜单里想在添加一个菜单
  • 火车票网站建设多少福州网络推广运营
  • 网站的交互设计有什么绑定网站
  • 郫县网站建设兼职济南媒体邀约
  • 做悬赏的网站成都保洁公司
  • 微信公众号网站建设费用手机怎么制作app软件
  • 做网站对商家的好处app网站设计
  • 企业网站备案要关站吗自己店怎么弄到小程序上
  • 网站建设什么行业种子搜索器
  • 云端互联网站建设南昌 网站建设