webx概念

在這段配置中,<loaders:database-loader>標籤通知SpringExt:將database-loader的實現注入到resource-loading的服務中。這種對應關係是如何建立起來的呢?

在XML裏,loaders前綴代表namespace:“http://www.alibaba.com/schema/services/resource-loading/loaders”;但對SpringExt而言,它還代表一個更重要的意義:擴展點,或稱爲ConfigurationPoint。ConfigurationPoint將namespace和可擴展的ResourceLoader接口關聯起來。

在XML裏,database-loader代表一個XML element;但對SpringExt而言,它還代表一個更重要的意義:捐獻,或稱爲Contribution。Contribution將element和對ResourceLoader接口的具體擴展關聯起來。

2.2.2. 擴展點,Configuration Point

SpringExt用“擴展點,Configuration Point”來代表一個可被擴展的接口。每個擴展點都:

  • 對應一個唯一的名稱,例如:services/resource-loading/loaders

  • 對應一個唯一的namespace,例如:http://www.alibaba.com/schema/services/resource-loading/loaders

  • 對應一個唯一的schema,例如:services-resource-loading-loaders.xsd

2.2.3. 捐獻,Contribution

SpringExt把每一個對擴展點的具體擴展稱作“捐獻,Contriubtion”。每個捐獻都:

  • 在對同一擴展點的所有捐獻中,擁有一個唯一的名字,例如:file-loaderwebapp-loaderdatabase-loader等。

  • 對應一個唯一的schema,例如:

    • services/resource-loading/loaders/file-loader.xsd

    • services/resource-loading/loaders/webapp-loader.xsd

    • services/resource-loading/loaders/database-loader.xsd

表 4.1. Webx Turbine映射規則

映射規則 說明
將URL映射成target target是一個抽象的概念,指明當前請求要完成的任務。Target由pipeline來解釋,它可能被解釋成模板名,也可能被解釋成別的東西。
將target轉換成模板名 模板用來展現頁面的內容。Velocity、Freemarker、JSP都可以作爲模板的格式,但在Webx建議使用velocity模板。
將target轉換成layout佈局 你可以爲一組頁面選擇相同的佈局(菜單、導航欄、版權信息等),爲另一組頁面選擇另一種佈局。
將target轉換成module 在Webx Turbine中,module是指screen、action、control等,大致相當於其它框架中的action或者controller。

工程師只需要根據上述規則,將模板放在指定的目錄、按照預定的方式命名module(也就是screen、action、control等),就不再需要額外的配置。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章