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相当于页面中的一个控件。

Webx框架:Spring Schema 和 Spring Ext的更多相关文章

  1. 深入webx框架(li)

    目录 1.Webx简介 2.创建webx应用   一.Webx简介 Webx本质上就是一个Web框架,它建立在Java Servlet API基础之上.上图所示是webx的架构图.webx本身类似于s ...

  2. 【Spring】浅析Spring框架的搭建

    c目录结构: // contents structure [-] Spring是什么 搭建Spring框架 简单Demo 1,建立User类 2,建立Test类 3,建立ApplicationCont ...

  3. spring schema自定义

    今天看了一下分布式服务框架的那本书,于是里面提到了spring schema的自定义,于是去简单的了解了一下 参考资源:spring schema扩展: http://www.yihaomen.com ...

  4. Spring框架[一]——spring概念和ioc入门(ioc操作xml配置文件)

    Spring概念 spring是开源的轻量级框架(即不需要依赖其他东西,可用直接使用) spring核心主要两部分 aop:面向切面编程,扩展功能不是修改源代码来实现: ioc:控制反转,比如:有一个 ...

  5. 【Spring】Spring之浅析Spring框架的搭建

    Spring是什么 Spring是一个开源的容器框架,用于配置bean并且维护bean之间关系的.其主要的思想就是IOC(Inversion Of Control,控制反转)或者称作DI(Depend ...

  6. Spring.Net框架二:配置Spring.Net框架环境

    一.下载DLL文件 去Spring的官方网站下载并解压,然后直接添加dll文件的引用就可以了.在上一篇文章中,已经介绍过Spring.Net框架中需要使用到的dll文件.这些程序集文件位于Spring ...

  7. Java开发工程师(Web方向) - 04.Spring框架 - 第1章.Spring概述

    第1章.Spring概述 Spring概述 The Spring Framework is a lightweight solution and a potential one-stop-shop f ...

  8. Spring 框架的概述以及Spring中基于XML的IOC配置

    Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器. ...

  9. Spring框架系列(3) - 深入浅出Spring核心之控制反转(IOC)

    在Spring基础 - Spring简单例子引入Spring的核心中向你展示了IoC的基础含义,同时以此发散了一些IoC相关知识点; 本节将在此基础上进一步解读IOC的含义以及IOC的使用方式.@pd ...

随机推荐

  1. Oracle 批量插入值

    工作中常遇到将Excel文档数据转为SQL语句,然后再将SQL语句插入到数据库已完成数据转移保存到数据库中,下面介绍下如何一次性插入多条SQL语句,先抛个图: 由于真实数据不变给大家看,所以这里是做了 ...

  2. 【poj1995】快速幂

    题目大意 求a^b %p 1≤a,b,p≤10^9 思路 时间O(10^9)一定会爆T,采用数学方法+位运算,得到O(log b)的快速幂算法 代码 #include<cstdio> #i ...

  3. 2015 多校赛 第七场 1011 (hdu 5379)

    题意:给定一棵树,树上有 n 个节点.问有多少种方案,使得在每个节点上依次放置数 1~n 后,每个节点的儿子节点上的数连续(比如 1 为根,有1-2,1-3,1-4,则令2,3,4上的数连续),每个子 ...

  4. 树莓派-解决apt-get upgrade速度慢的方法[更换阿里云源]

    执行 apt-get upgrade 遇到速度慢的原因: 使用国外软件源 解决方法也很简单,将源换为国内环境即可,我选择阿里云 步骤 1.备份为 sources.list sudo cp /etc/a ...

  5. 拖入浏览器读取文件demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. intellij 创建java web项目(maven管理的SSH)

    intellij 创建java web项目(maven管理的SSH) 环境intellij IDEA14.MAVEN.Spring.Struts2.Hibernate.Java Web.工程搭建. 1 ...

  7. Project Management -- How to use GitHub with Git

    如何通过Git使用GitHub ——PM曾子轩 从未使用过Git 一.从官网下载Git 此部分略 二.用Git连接上GitHub(为保持完整性,此部分引用博客:https://www.cnblogs. ...

  8. Java_Web之俱乐部会员信息管理系统

    使用 Jsp实现俱乐部会员信息管理功能,orac1e11g作为后台数据库,该系统包括查看俱乐部会员信息列表和修改俱乐部会员信息两人功能,具体耍求如下: 打开俱乐部会员信息列表页面,以列表方式显示所有俱 ...

  9. OpenCv: 二维坐标的旋转方程

    1. 可以写成一个矩阵的形式,也可以写成向量的形式: b 为选转角度加pi/2 x1 = x cos(b) - ysin(b) ;  y1 = x sin(b) + y cos(b).

  10. 洛谷P1141 01迷宫【DFS】

    有一个仅由数字00与11组成的n \times nn×n格迷宫.若你位于一格0上,那么你可以移动到相邻44格中的某一格11上,同样若你位于一格1上,那么你可以移动到相邻44格中的某一格00上. 你的任 ...