MVC使用Spring.Net应用IOC(依赖倒置)学习笔记3

2019-05-22 09:04:05王冬梅

 3. 在项目中新建一个xml文件,命名为services.xml:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
 <description>An example that demonstrates simple IoC features.</description>
 <object name="Class" type="SpringNetDemo.Class,SpringNetDemo">
 <property name="Name" value="尖子班"/>
 <property name="Monitor" ref="Student"/>
 </object>
 <object name="Student" type="SpringNetDemo.Student, SpringNetDemo">
 <property name="Name" value="陈二蛋"/>
 </object>
</objects>

      在xml中新建objects根节点,其中加入需要容器生成的object子节点,object子节点的type属性中需要指明类的完整名称(带有程序集)和当前命名空间,如果需要为当前类的属性赋默认值,则可以在object节点中增加property节点,配置其value属性来为类的属性赋初值,若类的属性仍然为其他类对象时,可以新建该类型的object节点,并给予其name属性,再在当前属性的property节点中将ref属性,指向新增object节点的name属性。

注意:要把xml文件设置为“如果较新则复制”或者“始终复制”,否则生成时将不会自动复制到程序目录

4.然后在应用程序配置文件中配置Spring.Net的信息:

<?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="file://services.xml"/>
 </context>
 </spring>
</configuration>

运行程序,得到输出结果:

成功实现IOC

Spring.Net在ASP.NET MVC中的使用

方法和在控制台程序中大同小异

1. 同样,首先要导入dll文件

   

MVC项目中需要引用的dll文件稍多些,需要五个,除了值钱的两个外,还需要三个Web相关的dll。

2. 为了便于管理,我们在MVC项目更目录新建Config文件夹来保存配置文件,并在其中新建两个xml文件

controllers.xml:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">、
 <object type="PMS.WebApp.Controllers.UserController , PMS.WebApp" singleton="false" >
 <property name="UserService" ref="UserService" />
 </object>
</objects>