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

国内外网站网站网站与平台的区别

国内外网站网站,网站与平台的区别,做公众号封面网站,六安网站制作多少钱动态代理的深化#xff1a;承接动态代理2( 对 上级实例进行 深化)#xff0c;也就是 spring 的前身 #xff08;必须掌握#xff09;实例#xff1a; 文件说明#xff1a;1.有一个Waiter接口#xff0c;该接口有一个 server() 、ShouQian()方法 2.有一个 Waiter接口的实…动态代理的深化承接动态代理2( 对 上级实例进行 深化)也就是 spring 的前身 必须掌握实例 文件说明1.有一个Waiter接口该接口有一个 server() 、ShouQian()方法 2.有一个 Waiter接口的实现类ManWaiter类 3.一个 测试Test类      4. 后置增强接口 AfterAdvice 接口      5.前置增强接口BeforeAdvice接口      6. 生成代理对象 的 ProxyFactory类 1. Waiter.java 接口 // 服务员 public interface Waiter {     // 服务     public void serve();          //收钱     public void shouQian(); }  2. BeforeAdvice.java 接口前置增强接口 /** * 前置增强 * author cxf * */ public interface BeforeAdvice {     public void before(); }  3. AfterAdvice.java 接口后置增强接口 /** * function 后置增强 * author not-bug * */ public interface AfterAdvice {     public void after(); }  4 . ManWaiter.java 类该类实现了 Waiter接口 //该类实现了 Waiter 接口 public class ManWaiter implements Waiter {     public void serve() {         System.out.println(服务中...);     }          public void shouQian() {         System.out.println(混蛋给我钱);     } }  5. ProxyFactory.java 类用来生成代理对象的类 /** * 它用来生成代理对象 * 它需要所有的参数 * * 目标对象 * * 增强 * author cxf */ /** * 1. 创建代理工厂 * 2. 给工厂设置三样东西 * * 目标对象setTargetObject(xxx); * * 前置增强setBeforeAdvice(该接口的实现) * * 后置增强setAfterAdvice(该接口的实现) * 3. 调用createProxy()得到代理对象 * * 执行代理对象方法时 * 执行BeforeAdvice的before() * 目标对象的目标方法 * 执行AfterAdvice的after() * author cxf * */ public class ProxyFactory {     private Object targetObject;//目标对象     private BeforeAdvice beforeAdvice;//前置增强     private AfterAdvice afterAdvice;//后置增强                /**      * 用来生成代理对象      * return      */     public Object createProxy() {         /*          * 1. 给出三大参数          */         ClassLoader loader this.getClass().getClassLoader();         Class[] interfaces targetObject.getClass().getInterfaces();         InvocationHandler h new InvocationHandler() {             public Object invoke(Object proxy, Method method, Object[] args)                     throws Throwable {                 /*                  * 在调用代理对象的方法时会执行这里的内容                  */                 // 执行前置增强                 if(beforeAdvice ! null) {                     beforeAdvice.before();                 }                                  Object result method.invoke(targetObject, args);//执行目标对象的目标方法                 // 执行后置增强                 if(afterAdvice ! null) {                     afterAdvice.after();                 }                                  // 返回目标对象的返回值                 return result;             }         };         /*          * 2. 得到代理对象          */         Object proxyObject Proxy.newProxyInstance(loader, interfaces, h);         return proxyObject;     }                public Object getTargetObject() {         return targetObject;     }     public void setTargetObject(Object targetObject) {         this.targetObject targetObject;     }     public BeforeAdvice getBeforeAdvice() {         return beforeAdvice;     }     public void setBeforeAdvice(BeforeAdvice beforeAdvice) {         this.beforeAdvice beforeAdvice;     }     public AfterAdvice getAfterAdvice() {         return afterAdvice;     }     public void setAfterAdvice(AfterAdvice afterAdvice) {         this.afterAdvice afterAdvice;     } }  6. Test.java 测试类  /* * 目标是让目标对象和增强都可以切换 */ public class Demo3 {     Test     public void fun1() {         ProxyFactory factory new ProxyFactory();//创建工厂         factory.setTargetObject(new ManWaiter());//设置目标对象         factory.setBeforeAdvice(new BeforeAdvice() {//设置前置增强             public void before() {                 System.out.println(您好不好);             }         });                  factory.setAfterAdvice(new AfterAdvice() {//设置后置增强             public void after() {                 System.out.println(再见不见);             }         });                  Waiter waiter (Waiter)factory.createProxy();         //waiter.shouQian();         waiter.serve();     }          //转账方法     public void zhuanZhang() {         /*          * 1.          * 2.          * 3.          */     } }  运行结果 转载于:https://www.cnblogs.com/Prozhu/p/5452962.html
http://www.sadfv.cn/news/80367/

相关文章:

  • 网络品牌网站建设价格如何自己做网站界面
  • 帮企网站建设2021年最新企业所得税政策
  • 电子商城网站建设 模板免费企业名录数据
  • 国内开源代码网站焦作做网站哪家好
  • 网站app开发费用抚顺市建设银行网站
  • 8步快速搭建个人网站视频网络营销的好处
  • 文化局网站建设方案南京网站建设价位
  • 周到的网站建站广州海珠区邮编
  • 网站建设技术中心网站做流量是怎么回事
  • 聊城专业做网站青岛城乡建筑设计院有限公司
  • WordPress网站子目录访问个人网站注册名称
  • 太原网站优化推广上海专业的网站建设公司
  • 芙蓉区建设局网站建网站服务商
  • 西宁市城乡规划和建设局网站wordpress太慢
  • 网站的优化与网站建设有关吗手游开发
  • 网站建设前准备自己设置网站
  • it公司怎么在国外网站做宣传北京网络网站建设公司
  • 有没有网站做悬赏的成品短视频软件源码
  • 云网站 制作火车头采集器发布wordpress
  • 平台类网站建设公司西安官网seo方法
  • 头皮痒 脱发严重怎么办外贸seo是什么意思
  • 网站建设实训该写哪些内容网站设计app
  • 陕西省医院信息化建设规范与测评标准—网站建设评分标准与方法百度推广开户联系方式
  • php网站怎么搭建环境安阳淘宝网站建设
  • vue做企业网站搞外贸一般是干什么的
  • 百度提交网站收录地址搜索网排名
  • 情侣网站建设策划书刘涛给孩子网站做的广告
  • 手工木雕网站建设策划书湖南建设网招标公告
  • 新手搭建做网站鞍山网站制作人才招聘
  • 海外网站服务器网址弹出全屏视频网站怎么做