SpringExt装配服务
ResourceLoadingService是一个可以从各种输入源中(例如File System, Classpath, Webapp中)查找和读取文件的服务。
SpringExt原理
1.扩展点(Configuration Point)
SpringExt用扩展点来代表一个可被扩展的接口,每个扩展点都:
(1)对应一个唯一的名称 ,如:servces/resource-loading/loaders。
(2)对应一个唯一的namespace,如:http://www/alibaba.com/schema/services/resource-loading/loaders。
(3)对应一个唯一的schema,如:services-resource-loading-loaders.xsd
2.捐献(Contribution)
SpringExt把每一个对扩展点的具体扩展称作捐献,每个捐献都:
(1)在对同一个扩展点的所有捐献中,拥有一个唯一的名字,如:file-loader, webapp-loader, database-loader等。
(2)对应一个唯一的schema,如
- services/resource-loading/loaders/file-loader.xsd
- services/resource-loading/loaders/webapp-loader.xsd
- services/resource-loading/loaders/database-loader.xsd
3.组件和包
在SpringExt中, 一个模块既可成为别的模块的扩展,也可以被别的模块来扩展,这样的模块被称为“组件”。
4.schemas
XML编辑器通过访问schema可以实现两大功能:(1)语法提示功能(2)验证spring配置文件的正确性。
XML编辑器取得schema内容的途径有两条。
(1)一条途径是访问schemaLocation所指示的网址
如你声明的schemaLocation为:http://www.alibaba.com/schema/services.xsd,那么XML编辑器就会尝试访问www.alibaba.com服务器。
(2)将schema转换成静态文件,然后定义一个标准的XML Catalog来访问这些schema文件。
SpringExt提供了另两个解决方案:maven或eclipse插件。
即使你把XML中指定Schema Location中的schema的网址改成指向“外部服务器”,SpringExt永远不需要通过访问网络来访问schemas,因此SprIngExt推荐总是以http://localhost:8080/schema作为你的schemaLocation网址的前缀。
最后欢迎大家访问我的个人网站:1024s