当前位置: 首页 > 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://wiki.neutronadmin.com/news/3933/

相关文章:

  • 重庆建设厅网站公示公告栏dw做网站怎么设置页面音乐
  • 教务处网站建设方案上弘科技网站建设
  • 如何让别人网站降权wordpress 画图插件
  • 网站维护界面设计如何开发一个聊天软件
  • 网站建设综合实训总结WordPress标签转拼音代码
  • 深圳建设银行网站首页学院网站建设 好处
  • 站长工具站长之家官网steam交易链接怎么改
  • 魔立方 网站建设企业所得税退税怎么做账务处理
  • 如何搭建一个app平台东莞网站优化科技有限公司
  • 西城专业网站建设公司哪家好足球门户网站建设
  • 易优建站系统网页界面设计的原则有哪些
  • 聊城公司做网站营销网站建设服务
  • 东莞企慕网站建设自己做网站需要学什么
  • 郑州企业的网站建设免费学平面设计的网站
  • 芜湖做网站找哪家好苍南网站建设shaoky
  • 营销网站做推广html网页框架代码
  • 仿快法务网站开发模板北京市住房建设官网站
  • 班级空间网站建设作用南头手机公司网站建设
  • 陕西秦地建设有限公司网站高品质网站设计
  • 门户网站建设注意事项广告版式设计图片
  • html制作一个个人主页网站网站优化公司上海
  • 网站建设专业简介做网站的技术性说明
  • 在哪个网站买做性的人免费微网站开发平台
  • 网站暂时关闭怎么做软装设计网站推荐
  • 网站群建设规范工作总结开头和结束语
  • 欧派家居全屋定制价格多少钱一平网络营销就是seo正确吗
  • 1688成品网站源码下载公司网站建设的作用
  • 百度搜到自己的网站网站如何伪静态
  • 网站设计培训成都哪家好品牌全案策划设计公司
  • 网站历史记录怎么恢复网站开发工资高么