webx诞生的原因是当时市面上没有好用的web框架。如今的Web框架有非常多。然后它们背后的思想都是相似的,并且越来越趋同。

Spring Schema

在传统的spring中,配置bean时须要手动去指定详细的实现类是什么。參数有哪些。这样开发人员须要记住详细的实现类、參数名称、含义等,会带来非常大的记忆负担。为了解决问题。SpringSchema出现了。它的解决的方法是将全部的參数转换成标签。标签是能够通过XML Schema定义的。这样仅仅须要记忆标签的名字就可以。

标签的名称一般都非常短,因此减轻了开发人员的负担。

在传统的Spring中。可能一个组件须要像以下这样配置。它使用了property、map、entry等标签,这些标签都不是重点,重点在于name、key、value-ref这些属性。

<bean id="resourceLoadingService" class="com.alibaba...ResourceLoadingServiceImpl"><property name="mappings"><map><entry key="/file" value-ref="fileLoader" /><entry key="/webroot" value-ref="webappLoader" /></map></property>
</bean>

为了解决问题。SprintExt引入了Spring Schema。组件的配置就成了以下这样。标签的名称都是重点。

另一个优点就是。标签的格式能够在XML Schema中定义。能使IDE更加智能。

<resource-loading id="resourceLoadingService"
xmlns="http://www.alibaba.com/schema/services/resource-loading"><resource pattern="/file"><file-loader basedir="${user.home}" /></resource><resource pattern="/webroot"><webapp-loader /></resource>
</resource-loading>

SpringExt

SpringExt扩展了Spring Schema。它能让XML文件提供很多其它的扩展性。

SpringExt中有几个重要的概念:

  • 扩展点:相当于标签的命名空间。
  • 捐献:相当于命名空间的详细实现。
  • 组件:组件能够被别的模块扩展,也能够扩展别的模块。比方ResourceLoadingService就是一个组件,这个在后面还会有介绍。

Webx容器。它全然兼容Spring的容器,因此语法和Spring全然一样。Webx框架在启动时自己主动载入WEB-INF/webx.xml和WEB-INF/webx-*.xml文件。当中webx-*.xml是子容器,它们都继承了webx.xml。

日志。日志的配置须要在web.xml中增加一个listener:

<listener><listener-class>com.alibaba.citrus.logconfig.LogConfiguratorListener</listener-class>
</listener>

页面驱动。在传统的开发流程中,视觉设计师设计出模板之后无法直接看到效果。须要等到Action代码编写完毕才干看到。

而页面驱动的理念中,视觉设计师在做完页面之后能够直接看到效果,并且能够在页面中直接使用框架提供的一些工具,比方页面跳转。验证登陆等。webx框架还提供了一系列工具,名为pull tools。它能够在页面中被调用。并且能够按需载入。比方表单的工具就是一种 Pull tools。能够用表单工具推断一个字段是否正确,错误消息是什么。

规则映射。在webx中,URL首先解析成Target,Target再由Pipeline进行解析。Pipeline解析能够得到模板名。模板名能够是Layout。能够是Module。一个Layout中能够包括Control和Screen。Control能够有多个,Screen仅仅能有一个。Control相当于页面中的一个控件。

转载于:https://www.cnblogs.com/llguanli/p/6955453.html

Webx框架:Spring Schema 和 Spring Ext相关推荐

  1. 微服务框架开发(二)—扩展spring schema

    2019独角兽企业重金招聘Python工程师标准>>> 一.实体bean的定义 回顾一下我们需要定义的4个标签 定义注册中心标签: <xmen:registry name=&q ...

  2. spring 全局变量_[Spring]-Spring框架-02-IOC容器

    Spring框架 IOC容器 理解IOC容器和DI依赖注入 IOC容器 Inverser Of Control反转控制 就是把原来在程序中创建HelloService对象的控制权限交给Spring管理 ...

  3. Spring系列之Spring框架和SpringAOP集成过程分析(十)

    转载请注明出处:https://blog.csdn.net/zknxx/article/details/80724180 在开始这个系列之前大家先想一下我们是怎么在项目中使用SpringAOP的(这里 ...

  4. Spring高级程序设计(Spring框架创始人倾情推荐的权威开发指南)

    Spring高级程序设计(Spring框架创始人倾情推荐的权威开发指南) 市场价 :¥99.00 会员价 : ¥74.25(75折) 样章免费试读:http://www.china-pub.com/1 ...

  5. 【重温SSM框架系列】1 - Spring快速入门(配置文件及API详解)

    Spring快速入门 Spring是什么 Spring发展历史 Spring的优势 Spring的开发步骤 没有Spring的时候的开发步骤 使用Spring的开发步骤 Spring配置文件(appl ...

  6. 【重温SSM框架系列】2 - Spring配置数据源连接池(手动创建与配置)

    Spring配置数据源) 数据源(连接池概述) 自定义数据源(手动创建) 1. 导入Druid和mysql数据库驱动依赖包 2. 创建数据源对象并配置基本连接信息 使用JDBC操作数据库,打印user ...

  7. Spring框架学习笔记(1) ---[spring框架概念 , 初步上手使用Spring , 控制反转 依赖注入初步理解 ]

    spring官网 -->spring官网 spring5.3.12–>spring-framework 在线文档 --> Spring 5.3.12 文章目录 1.Spring概论 ...

  8. Spring框架(一)—— Spring 简介

    文章目录 一.Spring 简介 1.Spring 概述 2.Spring Framework 下载 3.Spring 框架组成 一.Spring 简介 1.Spring 概述 (1)Spring 是 ...

  9. spring的下载及在idea搭建spring框架和第一个spring项目

    spring的下载 spring各版本jar包下载链接: commons logging jar下载链接: 你要是使用IDEA的话可以在这里加载spring框架 spring各版本jar包下载链接: ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:人脸识别
  2. AI“换脸”打开潘多拉魔盒,如何应对?
  3. linux下安装jira详细步骤
  4. js判断时间两小时之内_js判断两个时间的大小
  5. HttpWatch HttpWatch时间表(HttpWatch Time Charts)
  6. python dateutil安装_Python时间处理-dateutil模块
  7. uni-app微信小程序短信验证、微信支付
  8. 吹响数字经济时代的冲锋号 2021宝德X86生态伙伴大会在深召开
  9. 如何将您的Steam个人资料设为私人
  10. 【CUDA 基础】4.3 内存访问模式
  11. 为什么要使用Typescript
  12. Sentry 开发者贡献指南 - SDK 开发(性能监控)
  13. 2019乌鲁木齐·丝绸之路冰雪马拉松天山脚下鸣枪开跑
  14. 大数据高级开发工程师——Spark学习笔记(4)
  15. 堆排序及leetcode347---前 K 个高频元素
  16. 苹果x支持5g吗_【苹果】曝iPhone12双卡下不支持5G?NO!小白实测支持
  17. 网络舆情分析-part1
  18. java设计模式之—OO面向对象思维 Object Oriented(农场一头小母牛,每年生头小母牛,母牛5岁产母牛,20年上多少牛?)
  19. FTP 登陆的常见问题与FTP命令集锦
  20. 什么是原型,原型链?原型链是如何实现的?(带图清晰理解)

热门文章

  1. 中国九章量子计算机诞生!比最快的超算快一百万亿倍
  2. Linux系统中ctrl+c、 ctrl+z、 ctrl+\ 产生的信号名称
  3. Mingw-W64编译Windows程序提示:undefined reference to `__imp_GetStockObject' 的解决方法
  4. 沃尔沃投资两家以色列科技创企 布局人工智能
  5. Elasticsearch查询相关总结以及timestamp和时区问题
  6. linux shell awk next,使用awk的next命令的方法
  7. python判断文件是否为空文件对象_判断Python对象是不是为文件对象的方法有哪些...
  8. 009_IOC注解开发
  9. 应用计算机测定线性电阻伏安特性实验器材,线性电阻与非线性电阻伏安特性实验的Origin处理...
  10. android字符显示流程图,Android应用层View绘制流程与源码分析