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

网站维护中页面设计wordpress 7天热门

网站维护中页面设计,wordpress 7天热门,中企动力总部,5173游戏交易网站源码一、使用示例 步骤1#xff1a;创建User实体 步骤2#xff1a;定义一个XSD文件描述组件内容 步骤3#xff1a;创建BeanDefinitionParser接口的实现类#xff0c;用来解析XSD文件中的定义和组件定义。 步骤4#xff1a;创建NamespaceHandlerSupport实现类#xff0c;目的…一、使用示例 步骤1创建User实体 步骤2定义一个XSD文件描述组件内容 步骤3创建BeanDefinitionParser接口的实现类用来解析XSD文件中的定义和组件定义。 步骤4创建NamespaceHandlerSupport实现类目的是将组件注册到Spring容器中。 步骤5编写spring.handlers和spring.schemas文件默认位置是/META-INF目录下 步骤6在配置文件oldbean.xml中引入对应的命名空间以及XSD之后就可以配置myname:user ... /了 步骤7进行测试 二、源码解析 在第2讲中我们已经介绍了关于默认标签的解析过程。那么我们还是需要将视角在回到parseBeanDefinitions(...)方法上来从下图源码截图中我们可以看出来我们首先是来判断root和root的子节点是否是默认表空间即通过delegate.isDefaultNamespace(...)来进行判断 【如果是默认表空间】执行默认标签解析——delegate.parseDefaultElement(ele, delegate); 【如果不是默认表空间】则执行自定义标签解析——delegate.parseCustomElement(ele); 下面我们来看一下parseCustomElement(...)方法的具体实现具体来说有如下3个步骤 【首先】获得namespaceUri,此处是通过org.w3c.dom.Node中的getNamespaceURI()方法进行获取的 【其次】获得解析该自定义标签的NamespaceHandler实现类。 【最后】调用该实现类的parse(...)方法进行解析操作。 2.1 getNamespaceURI(ele)方法解析 此方法是用于获得namespaceUri此处是通过org.w3c.dom.Node中的getNamespaceURI()方法进行获取的以使用示例中为例将会返回的namespaceUri“http://www.muse.com/schema/user”。 2.2 resolve(namespaceUri)方法解析 此方法是用来获得解析该自定义标签的NamespaceHandler实现类为下图中红框处代码 在此处的this.readerContext.getNamespaceHandlerResolver()方法中实际会返回DefaultNamespaceHandlerResolver实例对象。 上面我们了解了DefaultNamespaceHandlerResolver实例对象的创建过程之后那么下面我们就来分析一下它的resolve(namespaceUri)这个方法的内部实现下面是该方法的源码部分 在getHandlerMappings()方法中我们获得了系统加载的所有NamespaceHandler实例对象的映射映射关系为keyurivalueNamespaceHandler实现类。但是如果我们发现加载的handlerMappings等于null那么我们就需要去加载META-INF/spring.handlers文件中的配置信息将其生成NamespaceHandler实例对象的映射。所以综上所示getHandlerMappings()方法的主要功能就是读取spring.handlers的配置文件并将配置文件缓存在map中。 那么以我们的演示例子来说handlerMappings中是包含了11个xxxNamespaceHander实例对象的映射关系的在下图中红框部分就是我们自定义的UserNamespaceHandler。 那么在调用 namespaceHandler.init() 方法的时候其实调用的是UserNamespaceHandler实例的init()方法该方法是我们自己实现的。如下图所示 当我们调用 handlerMappings.put(namespaceUri, namespaceHandler) 方法时那么就将原本String类型的value值“com.muse.springbootdemo.UserNamespaceHandler”替换为UserNamespaceHandler实例对象了。如下图所示 2.3 parse(...)方法解析 下面我们再来看一下的parse(...)方法该方法是用来进行自定义标签的解析操作。 在parse(...)方法中我们可以看到首先是通过findParserForElement(element, parserContext)方法来找到localName对应的解析器。以我们上面的示例为例我们在oldbean.xml中配置的是myname:user iduser namemuse emailmuse163.com/那么获得了localName就等于“user”。由于我们在UserNamespaceHandler类中已经配置了user与UserBeanDefinitionParser实例对象的对应关系所以parser就拿它作为方法的返回值。具体详情请见下图所示 在上面的代码逻辑中我们已经获得到了parser示例对象UserBeanDefinitionParser实例对象那么我们通过调用parser对象的 parser(element, parserContext) 方法对自定义标签执行解析操作。下面是该方法涉及的源码部分 我们在上面可以看到对自定义标签进行解析是在parseInternal(element, parserContext)方法中执行的 在doParse(element, parserContext, builder)方法中执行了真正的自定义标签解析逻辑那么既然是自定义标签是无法通过Spring进行解析的而是需要我们自己提供自定义解析类XxxBeanDefinitionParser来实现doParse(...)方法的具体如下所示 今天的文章内容就这些了 写作不易笔者几个小时甚至数天完成的一篇文章只愿换来您几秒钟的 点赞  分享 。
http://www.zqtcl.cn/news/483049/

相关文章:

  • 网站建设企业电话在线照片处理编辑器
  • 长沙建设网站企业wordpress 亲子模板下载
  • 济南seo整站优化价格织梦网站做404页面
  • 石家庄做标书的网站如何选取网站关键词
  • 摄影作品网站推荐wordpress用插件注册
  • pc端兼手机端网站模板中国网站 服务器
  • 江宁区建设工程局网站做网站满屏的照片尺寸是多少
  • 中国设计师网站网站开发需要什么专业的人才
  • 制作网站第一步龙海建设局网站
  • 网站建设的业务规划资源分享类网站模板
  • app与网站数据交互忻州集团网站建设
  • 个人网站有必要备案吗专业建站哪家好
  • 网站代码软件WordPress 编辑器2016
  • 网站建设与制作教学计划重庆本地建站
  • 动漫做视频在线观看网站宝安做小程序有推荐吗
  • 落伍者论坛 做网站成都关键词自然排名
  • 太原这边有做网站的吗wordpress下载类主题
  • 个人网站制作 教程兰州网站分类导航
  • 官方静态网站模板下载小说盗版网站怎么做
  • php网站开发就业wordpress 调整配置文件
  • 来年做那些网站致富全球华设计大赛
  • 福建省城乡建设厅网站网页无法打开怎么办
  • 海口仿站定制模板建站成都网站空间创新互联
  • 网站上传源码织梦企业 网站源码
  • 台州建设网站公司php网站好吗
  • 制作网站需要哪些成本软件开发模型的理解
  • 室内设计网站排行榜前十名有哪些湖南建筑网
  • 荥阳做网站wordpress会员关注
  • 公司网站建设包含的内容wordpress淘宝客知乎
  • 用dw建立网站wordpress文章到期自动下沉