在前面的Demo中,对象是写在App.config中的
<spring>
<context>
<resource uri="config://spring/objects"/>
</context>
<objects>
<object name="a" type="namespaceA.A, ConsoleApplication1" />
</objects>
</spring>
如果对象种类和数量繁多,加上App.config中还有一些其他的配置,这种方式就显得有些难以维护了。
为了解决这个问题,我们可以把对象分离到单独的文件,在App.config中引用这些文件。类似于web前端引用javascript。
创建一个存放对象的xml文件:object.xml
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object name="a" type="namespaceA.A, ConsoleApplication1" />
</objects>
将object.xml属性中的生成操作改为:嵌入的资源
然后将App.config改为
<spring>
<context>
<resource uri="assembly://ConsoleApplication1/ConsoleApplication1.SpringObject/object.xml"/>
</context>
</spring>
此时,resource 的 uri 含义为:assembly: // 程序集 / 命名空间 / 文件名
object.xml 的命名空间不清楚的时候,可以在object.xml所在的目录下创建一个类,类的命名空间就是object.xml的命名空间