javascript
Webx框架:Spring Schema 和 Spring Ext
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LA 6892 The Safe Sec
- 下一篇: 了解VIM的寄存器