(一)物理路径(可以复制)
IResource input = new FileSystemResource(@"self.xml");
IObjectFactory fac = new XmlObjectFactory(input);
(二)程序集方法
url语法:
file://文件名(复制)
assembly://程序集名/命名空名/文件名(嵌入)
IApplicationContext context = new XmlApplicationContext("file://self.xml");
IObjectFactory fac = (IObjectFactory)context;
还可以:
IApplicationContext context = new XmlApplicationContext("assembly://SpringSample/SpringSample/self.xml");
IObjectFactory fac = (IObjectFactory)context;
(三)配置文件
app.config 或web.config文件内容或无,xml文件嵌入
app.config文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
</configSections>
<spring>
<context>
<resource uri="assembly://SpringSample/SpringSample/self.xml"/>
<resource uri="config://spring/objects" />
</context>
<objects xmlns="http://www.springframework.net">
</objects>
</spring>
</configuration>
Self.xml文件
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object id="Customer" name="Customer" type="SpringSample.Customer"></object>
</objects>
IApplicationContext context = ContextRegistry.GetContext();
(context.GetObject("Customer") as Customer).ShowMessage();