首页 > 技术文章 > 在Asp.net MVC中应该怎样使用Spring.Net

shiruina 2018-07-09 14:20 原文

简单工厂

 专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类或接口。简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例。

抽象工厂

   抽象工厂模式(英语:Abstract Factory)是一种常见的设计模式。此模式为一个产品家族提供了统一的创建接口。当需要这个产品家族的某一系列的时候,可以从抽象工厂中选出相对系的系列来创建一个具体的工厂类别。

 

抽象工厂不爽!!!IoC DI出场

IoC:Inversion of Control 控制翻转:就是创建对象的权利由开发人员自己控制New,转到了由容器来控制,即不需要自己创建对象。

DI:Dependency Injection  依赖注入:就是在通过容器来创建对象的时候,在对象的初始化是可以给一些属性、构造方法的参数等注入默认值(可以是复杂的类型)

 

在Asp.net MVC中应该怎样使用Spring.Net

1:先导入dll文件。

2:将案例中的Config文件夹拷贝到项目中。

3:修改Config文件夹中的相关的配置信息。

controllers.xml的代码,将Config/controllers.xml文件中的配置信息分离(可以将控制器的配置与业务类的配置分离。controllers.xml、service.xml)注意web.config文件中也要修改一下。

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">

  <!--UserInfoControlle控制器,type分别代表控制器的命名空间、程序集;singleton代表是否为单例模式-->
  <object type="CZBK.ItcastOA.WebApp.Controllers.UserInfoController, CZBK.ItcastOA.WebApp" singleton="false" >
    <!--属性:名称,复杂属性用ref,简单的值用value;此UserInfoService属性关联service.xml中的UserInfoService-->
    <property name="UserInfoService" ref="UserInfoService" />
  </object>

</objects>

service.xml中的代码

<?xml version="1.0" encoding="utf-8" ?>
<objects>

  <!--UserInfoService类,type分别代表命名空间、程序集;singleton代表是否为单例模式;name要和controllers.xml中的ref一致-->
  <object type="CZBK.ItcastOA.BLL.UserInfoService, CZBK.ItcastOA.BLL" singleton="false" name="UserInfoService" >
  </object>

</objects>

  把UserInfoController控制器下的对象改成属性   IUserInfoService UserInfoService=new UserInfoService();修改成 IUserInfoService UserInfoService {get;set}


4:修改Web.config文件中的配置。

5:修改Global文件.继承SpringMvcApplication

 

注意:把新添加的xml配置设置如下,否则在bin下不会生成此xml,导致web.config找不到配置的文件路径

 

此spring.net用的版本为2.0.0.40000依赖于Microsoft.AspNet.WebApi.Core.4.0.20710.0 、Microsoft.AspNet.WebApi.WebHost.4.0.20710.0

 

推荐阅读