翻译spring.net 帮助文档--第24章 Spring.net 与visual studio.net的集成

 

Spring.net 与visual studio.net的集成

1、 XML编辑和验证

Spring管理的对象是由XML配置数据来定义的,并由Sprint.NETXML Schema在运行时进行验证。创建IApplicationContextXML配置数据所在的位置,可以是SpringIResource中所支持的任何资源位置。(参考6.1 introduction)要使用独立的XML配置文件来创建IApplicationContext,标准.NET应用配置的自定义配置节会去读取下面的部分:

<spring>

           <context>

                    <resource uri=file://objects.xml/>

           </context>

</spring>

VS.NET 2005XML编辑器可以使用xsi:schemaLocation作为提示,来将schema文件的物理位置与正在编辑中的XML文件联系起来。VS.NET 2002/2003不能识别xsi:schemaLocation元素。在VS.NET 2005中,如果按照下面的方法来引用Sprint.NET XMLschema,就可以在编辑Spring配置文件的时候使用IntelliSense特性和验证支持。要想在VS.NET 2002/2003中享受同样的待遇,就需要在VS.NET中注册schema,或者将schema作为应用项目的文件包含进去。

<?xmlversion="1.0"encoding="UTF-8"?>

<objectsxmlns="http://www.springframework.net"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.nethttp://www.springframework.net/xsd/spring-objects.xsd">

<objectid="..."type="...">

...

</object>

<objectid="..."type="...">

...

</object>

...

</objects>

通常,将schema集成入VS.NET或者VS.NET 2005,是比较方便的。因为可节省XML文件的体积,并且不需要将XSD文件复制到每个创建的项目中。VS.NET 2003schema保存目录为:C:\ProgramFiles\MicrosoftVisualStudio.NET2003\Common7\Packages\schemas\xml VS.NET 2003)或:C:\ProgramFiles\MicrosoftVisualStudio.NET\Common7\Packages\schemas\xmlVS.NET 2002)。VS.NET 2005保存XML schema的目录为:C:\ProgramFiles\MicrosoftVisualStudio8\Xml\Schemas

为了帮助完成这个文件复制任务,可以使用Spring所附带文件目录,中位于doc/schema目录之内的NAnt所调用的build文件,并执行:nant

默认的nant目标会将文件spring-object.xsddoc/schema目录中拷贝到适当的VS.NET目录中。

完成在VS.NET中对schema文件的注册后,就只能向objects元素中添加相应namespace中的声明了。

<?xmlversion="1.0"encoding="UTF-8"?>

<objectsxmlns="http://www.springframework.net">

<objectid="..."type="...">

...

</object>

<objectid="..."type="...">

...

</object>

...

</objects>

注册成功之后,仅用namespace的声明就可以从VS.NET得到IntelliSense和配置文件验证的支持了。或者,通过选择xsd文件的方式,在PropertySheet中为配置文件设置targetSchema属性,也可以达到同样的目的。

4.7节“与IObjectFactory共同工作”中所展示的,Spring.NET支持使用.NET的应用程序配置文件作为保存object定义的位置,以供object factory管理。

<configuration>

<configSections>

<sectionGroupname="spring">

<sectionname="context"type="Spring.Context.Support.ContextHandler,Spring.Core"/>

<sectionname="objects"type="Spring.Context.Support.DefaultSectionHandler,Spring.Core"/>

</sectionGroup>

</configSections>

<spring>

<context>

<resourceuri="config://spring/objects"/>

</context>

<objectsxmlns="http://www.springframework.net">

...

</objects>

</spring>

</configuration>

在上面这种情况下,VS.NET2002/2003仍然会提供IntelliSense的帮助,但是不能完全验证整个文档,因为App.config的完整schema仍然不能获取。要验证这个文档,需要安装.NET 配置文件schema,和额外用来操作<spring><context>配置节以及要创建的<objects>的相关schema

schema的验证是VS2005提供的新特性。它伴随着对XML文件的编辑过程,提供全程验证,在Error List窗口后可以看到它发现的任何错误。

当决定在何处放置配置信息后,要记得相应的tradeoff。当进行快速的原型开发时,可以在App.config中保存,如果要进行很重要的开发,可以使用另外的IResource位置,文件或其他内嵌组件资源。

2、 XML schema的版本

Spring1.0.1升级到1.0.2Schema的版本做了升级,以支持泛型。1.0.1版本的schema可以在http://www.springframework.net/xsd/1.0.1/处找到,最新版本的schema可以在http://www.springframework.net/xsd/处找到。

3、 集成API帮助

作为安装过程的一部分,Spring.NET API文档注册到Visual Studio。有两个版本的文档,一个供VS.NET2002/2003使用,一个供VS.NET2005使用。它们只是格式不同,VS.NET 2005使用又好又新的格式。好好享受吧!

posted on 2007-04-23 22:05  小熊bryan  阅读(1572)  评论(0编辑  收藏  举报