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. 深入理解Redis(番外)——持久化

    引语 Redis作为一款内存数据库,自然所有数据都加载在内存中,那么自然就有小伙伴会问,如果服务器宕机了怎么办,数据不都丢了吗,不用担心,Redis早就提供了两种方式来将数据进行持久化,即便服务器宕机 ...

  2. ASP.NET MVC + 工厂模式 + 三层 + 缓存

    最近将手头的项目总结整理了一下,以方便自己的学习.... 下面直接上图先介绍项目的结构图: 项目是ASP.NET MVC 4.0的应用程序,DBUtility这个类库主要是DbHelper操作数据库的 ...

  3. Redis 字符串结构和常用命令

    字符串是 Redis 最基本的数据结构,它将以一个键 和一个值 储存在 Redis 内部. 字符串的一些基本命令 命令 说明 备注 set key value 设置键值对 最常用的写入命令 get k ...

  4. Lua Time

    -- local getTime = os.date(“%c”); -- %a abbreviated weekday name (e.g., Wed)-- %A full weekday name ...

  5. HTTPS的中那些加密算法

    密码学在计算机科学中使用非常广泛,HTTPS就是建立在密码学基础之上的一种安全的通信协议.HTTPS早在1994年由网景公司首次提出,而如今在众多互联网厂商的推广之下HTTPS已经被广泛使用在各种大小 ...

  6. matplotlib之pyplot 学习示例

    现在通过numpy和matplotlib.pyplot 在Python上实现科学计算和绘图,而且和matlab极为相像(效率差点,关键是方便简单) 这里有大量plots代码例子.  1. 简单的绘图( ...

  7. halcon 模板匹配 -- find_shape_model

    find_shape_model(Image : :  //搜索图像 ModelID, //模板句柄 AngleStart,  // 搜索时的起始角度 AngleExtent, //搜索时的角度范围, ...

  8. Spring AOP之静态代理

    软件151 李飞瑶 一.SpringAOP: ⒈AOP:Aspect Oriented Programming 面向切面编程, 实现的是核心业务和非核心业务之间的的分离,让核心类只做核心业务,代理类只 ...

  9. Tomcat内存分析相关方法(jmap和mat)

    Linux环境命令行 首先,根据进程命令,获取运行的tomcat的进程ID ps aux | grep tomcat | grep java | grep bsc 在第二列可以看到进程ID 然后使用j ...

  10. PAT_A1142#Maximal Clique

    Source: PAT A1142 Maximal Clique (25 分) Description: A clique is a subset of vertices of an undirect ...