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

公司网站设计注意事项北京活动策划公司排行

公司网站设计注意事项,北京活动策划公司排行,做期货到哪个网站看新闻,什么是软件外包产业2019独角兽企业重金招聘Python工程师标准 可以通过注解的方式来自定义代理对象的创建#xff0c;同时也可以通过SpringAPI#xff0c;手动编程的方式来创建代理对象。 几个重要的API#xff1a; ProxyFactory\MethodInterceptor\Advice\AfterReturningAdvice\… 2019独角兽企业重金招聘Python工程师标准 可以通过注解的方式来自定义代理对象的创建同时也可以通过SpringAPI手动编程的方式来创建代理对象。 几个重要的API ProxyFactory\MethodInterceptor\Advice\AfterReturningAdvice\MethodBeforeAdvice 直接粘贴代码代码能说明一切 /** * */ package cn.hessian.proxy; import java.lang.reflect.Method; import org.aopalliance.intercept.Interceptor; import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; import org.junit.Test; import org.springframework.aop.AfterAdvice; import org.springframework.aop.AfterReturningAdvice; import org.springframework.aop.MethodBeforeAdvice; import org.springframework.aop.framework.ProxyFactory; import cn.hessian.service.HelloWorldService; import cn.hessian.service.impl.HelloWorldServiceImpl2; /** * author beijing * 2013-4-2 */ public class SpringProgramicProxyDemo {     Test     public void test(){         //代理对象需要的实现的接口         Class[] interfacesnew Class[]{HelloWorldService.class};         //利用spring的API,创建代理工厂         ProxyFactory proxyFactorynew ProxyFactory(interfaces);         //设置目标对象         proxyFactory.setTarget(new HelloWorldServiceImpl2());         /**          * Set whether proxies created by this configuration should be prevented from being cast to Advised to query proxy status.             Default is false, meaning that any AOP proxy can be cast to Advised.          * */         proxyFactory.setOpaque(true);        //添加方法前置通知         proxyFactory.addAdvice(new MethodBeforeAdvice() {             Override             public void before(Method method, Object[] args, Object target)                     throws Throwable {                 System.out.println(1111111111在方法调用之前拦截);             }         });         //可以添加多个方法前置或者后置通知     proxyFactory.addAdvice(new MethodBeforeAdvice() {                         Override             public void before(Method method, Object[] args, Object target)                     throws Throwable {                 System.out.println(22222222在方法调用之前拦截);             }         });    //可以添加多个方法前置或者后置通知         proxyFactory.addAdvice(new AfterReturningAdvice() {                         Override             public void afterReturning(Object returnValue, Method method,                     Object[] args, Object target) throws Throwable {                 System.out.println(方法完成之后调用的方法11111);                             }         });                //可以添加多个方法前置或者后置通知         proxyFactory.addAdvice(new AfterReturningAdvice() {                         Override             public void afterReturning(Object returnValue, Method method,                     Object[] args, Object target) throws Throwable {                 System.out.println(方法完成之后调用的方法22222);                             }         });         //对于环绕通知只能添加一个,多添加也是没有用的spring会选第一个advice请看结果         proxyFactory.addAdvice(new MethodInterceptor() {                         Override             public Object invoke(MethodInvocation invocation) throws Throwable {                 System.out.println(1111111环绕通知);                 Object[] paramsinvocation.getArguments();                 Method methodinvocation.getMethod();                 Object targetinvocation.getThis();                 Object bytesmethod.invoke(target, params);                 byte[] result(byte[]) bytes;                 System.out.println(1111111111环绕通知生成的结果--new String(result));                 return 北京生活圈.getBytes();             }         });                //对于环绕通知只能添加一个,多添加也是没有用的spring会选第一个advice请看结果 proxyFactory.addAdvice(new MethodInterceptor() {                         Override             public Object invoke(MethodInvocation invocation) throws Throwable {                 System.out.println(22222环绕通知);                 Object[] paramsinvocation.getArguments();                 Method methodinvocation.getMethod();                 Object targetinvocation.getThis();                 Object bytesmethod.invoke(target, params);                 byte[] result(byte[]) bytes;                 System.out.println(222222环绕通知生成的结果--new String(result));                 return bytes;             }         });                         Object proxyproxyFactory.getProxy(proxyFactory.getClass().getClassLoader());                 Class[] intersproxy.getClass().getInterfaces();         for(Class str: inters ){             System.out.println(str.getSimpleName());         }                 HelloWorldService helloWorldService(HelloWorldService)proxy;         System.out.println(new String(helloWorldService.sayHelloWorld(北京)));     } }   生成的结果为: HelloWorldService SpringProxy 1111111111在方法调用之前拦截 22222222在方法调用之前拦截 1111111环绕通知 1111111111环绕通知生成的结果--你好 北京 方法完成之后调用的方法22222 方法完成之后调用的方法11111 北京生活圈 转载于:https://my.oschina.net/hotbain/blog/119420
http://www.sadfv.cn/news/202238/

相关文章:

  • 网站建设 三牛怎么盗用网站
  • 企业官网建站费用电脑网页传奇
  • 服装生产厂商网站建设方案企业文化培训
  • app界面设计网站做网站的时候宽高
  • 用凡客建站做的网站有哪些黄冈网站推广下载
  • 深圳新闻类网站的建设wordpress首页调用
  • 太仓企业网站建设公司亚马逊开店需要什么条件
  • 旅游网站的导航怎么做公司网站制作合同
  • 成都开发网站建设全国职业生涯规划大赛官网
  • 网站做任务 炸金花最新网站建设软件
  • 免费开源建站系统源码百度seo培训课程
  • 网页游戏网站源码jsp手机销售网站的建设
  • 宿迁网站网站建设网站优化招聘
  • wordpress资源站vfp wordpress
  • 东莞快速做网站苏州cms建站
  • wordpress 哪些网站wordpress 宅男猫源码
  • 个人作品展示网站模板南昌百度网站快速排名
  • 做导购网站需要多大的服务器去势文 wordpress
  • 网站建设倒计时模板互联网网站开发服务合同
  • 外网有趣的网站网站更改建设方案模板
  • 生态建设研究所网站上传网站需要什么软件
  • 如何做网站搬家怎样建设一个好的企业网站
  • 推广网站怎么做模板wordpress ckeditor 中文字体
  • 网站重构罗永浩做的网站
  • 响应式布局网站案例网站项目设计具体方案
  • 网站开发结语怎么联系网站开发团队
  • 广东建设厅的网站查询建立网站的阶段
  • 西安网站自然排名优化工业软件开发前景
  • 学ps做兼职的网站有哪些it运维前景怎么样
  • 上海专业网站建设价格福建外贸网站