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

深圳网站系统找哪里网络营销出来做什么

深圳网站系统找哪里,网络营销出来做什么,wordpress域名临时域名,wordpress 微信分享插件下载总结完这个Mybatis的整体主要功能基本上就差不多完#xff0c;还有一些细节的部分#xff0c;后续都会记录补充。 插件这个东西一般用的比较少#xff0c;就算用的多的插件也算是PageHelper分页插件#xff1b; PageHelper官网#xff1a;https://github.com/pagehelper…总结完这个Mybatis的整体主要功能基本上就差不多完还有一些细节的部分后续都会记录补充。 插件这个东西一般用的比较少就算用的多的插件也算是PageHelper分页插件 PageHelper官网https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md 官网上这个也有谈到Mybatis的插件流程分析。 使用示例 插件类 记录SQL执行的时间 1、在JDK8之前必须实现Interceptor接口中的三个方法在JDK8之后只需要实现intercept方法即可 2、加上Intercepts注解并且附加上需拦截的类型以及方法Signature type:插入的类即指定的四个类型 method:拦截插入类的方法 args:拦截插入类方法的参数类型按顺序。 3、实现的plugin方法必须执行Plugin.wrap(target, this)JDK8之后在接口中写了默认方法。 Intercepts({Signature(type StatementHandler.class, method query, args { Statement.class, ResultHandler.class }) }) public class ThresHolderPlugin implements Interceptor {int threshold 0;public Object intercept(Invocation invocation) throws Throwable {long start System.currentTimeMillis();Object proceed invocation.proceed();long end System.currentTimeMillis();System.out.println(select time: (end-start) ms);return proceed;}public Object plugin(Object target) {return Plugin.wrap(target, this);}public void setProperties(Properties properties) {this.threshold Integer.valueOf(properties.getProperty(value));System.out.println(threshold : threshold);}}配置文件 pluginsplugin interceptorcom.test.mybatis.MybatisTest.official.plugin.ThresHolderPlugin//数据会传输到插件类的Propertiesproperty namevalue value10/property/plugin/plugins 设计模式 责任链模式Chain of Responsibility Pattern 为请求创建了一个接收者对象的链。这种模式给予请求的类型对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求那么它会把相同的请求传给下一个接收者依此类推。 责任链模式优点: 降低耦合度。它将请求的发送者和接收者解耦。 简化了对象。使得对象不需要知道链的结构。 增强给对象指派职责的灵活性。通过改变链内 的成员或者调动它们的次序允许动态地新增 或者删除责任。 增加新的请求处理类很方便。 UML: Handler定义了一个处理请求的标准接口 ConcreteHandler具体的处理者处理它负 责的部分根据业务可以结束处理流程也可 以将请求转发给它的后继者 client 发送者发起请求的客户端 源码分析 在之前谈到Mybatis的核心流程分析中在加载Mybatis的配置文件的时候会把所有的插件加载带Configuration对象中的InterceptorChain变量当中 如果有多个插件类的话因为InterceptorChain类储存插件类是有序集合所以执行插件的顺序就是在xml配置插件的顺序 在Configuration类中 这里有个CacheExecutor执行器当开启了二级缓存的时候就是选用缓存执行器使用是装饰器模式将真正的执行器包装了一层。 我们现在看一下这个pluginAll方法 使用动态代理将真正的对象进行增强 在之前那个方法中必须执行Invocation的proceed()方法这个方法就是执行method.invoke()方法 如果有多个插件的话那么就会出现重复代理对象那么重复代理对象的执行的话执行过程如下 这就是责任链模式一层嵌套着一层。 在配置XML文件中配置 pluginsplugin interceptorcom.test.mybatis.MybatisTest.official.plugin.ThresHolderPluginproperty namevalue value10/property/pluginplugin interceptorcom.test.mybatis.MybatisTest.official.plugin.ThresHolderPlugin2property namevalue value20/property/plugin /plugins 那么执行的过程就是 ThresHolderPlugin2      ThresHolderPlugin            interceptor.intercept(new Invocation(target, method, args))       插件的执行流程差不多了。大家可以在评论区多交流交流。
http://www.yutouwan.com/news/205597/

相关文章:

  • 做网站需注重的几点如何对现有的网站改版
  • 如何免费申请公司网站服装企业网站建设现状
  • 贵州做网站的公司什么是网站静态化
  • 网站怎样做自适应分辨率大小响应式网站预览
  • 自己做网站还是找网站建设公司好网页编辑器dw
  • 微软网站制作软件做网站网站条件
  • 怎么做响应式网站学校网站做等级保护
  • 一站式服务广告语雪人主题WordPress
  • 提高网站流量原则找事做网站怎么弄
  • 自己网站梧州论坛 红豆社区
  • 做网站项目主要技术时代定制
  • 官方网站建设与维护好处做饮品的网站
  • 重庆seo网站排名优化微信建网站
  • 国内的足彩网站怎么做的集团网站建设计划表百度
  • 能看人与动物做的网站wordpress 伪静态 描述
  • 旧安卓手机做网站怎么免费弄网站
  • 做零食网站的原因html做网站步骤大全
  • 模板做的网站 怎么提升排名个人备案网站做企业网可以吗
  • 优秀网站首页买房子最好的网站
  • 重庆网站开发江西企业网站建设电话
  • DW做旅游网站毕业设计重庆餐饮网站设计
  • 哪里有做网站的单位北京口碑最好的装修公司
  • 区域网站设计所有代刷平台推广
  • 西青网站建设域名状态查询工具
  • 佛山关键词网站排名wordpress 调试
  • 为什么我的网站百度搜不到众v创业营网站建设
  • 菜鸟教程网站是怎么做的中国兰州网招聘
  • 教育类网站开发公司编程工具
  • 公司网站友情链接有哪些网站可以做简历
  • 怎么判断网站开发语言网上开店电商平台有哪些