• Spring.net学习记录


    Spring.Net功能:

    1、控制反转(IOC):就是创建对象的权利由开发人员自己控制New,转到了有容器来控制

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

    3、面向切面编程(AOP)

    mvc中最典型的AOP:过滤器

    在MVC中应用Spring.Net:

    1、引用相关dll

    Common.Logging.dll是Spring.net内使用的日志记录文件

    Spring.Core.dll是Spring.net的核心文件

    Spring.Web.dll和Spring.Web.Extensions.dll是针对web的处理和扩展

    Spring.Web.Mvc4.dll是针对mvc4做的扩展

    2、在mvc项目的根目录下创建Config文件夹,并在文件夹下创建controller.xml文件

    <?xml version="1.0" encoding="utf-8" ?>
    <objects xmlns="http://www.springframework.net">
      <object name="UserInfoService" type="类所在的命名空间.类名, 类所在的程序集" singleton="false" >
        <property name="userInfoService" ref="userInfoService"/>
      </object>
      <object type="类所在的命名空间.类名, 程序集" singleton="false" name="userInfoService" >
      </object>
    <!--intentionally do NOT register the AccountController or the ValuesController with the container; demonstrates that the underlying default controller factory will properly (attempt to!) resolve all controllers not registered with Spring.NET using its default controller resolution behavoir--> <!--<object type="Spring.Mvc4QuickStart.Controllers.AccountController, Spring.Mvc4QuickStart" singleton="false" />--> <!--<object type="Spring.Mvc4QuickStart.Controllers.ValuesController, Spring.Mvc4QuickStart" singleton="false" />--> </objects>

    每个object都是一个类,type属性指定类所在的命名空间和程序集,属性singleton表示是否单例,object下的字节点property关联类下需要赋默认值的属性,name值与类中属性名相同,如何属性是另一个类,则property中则用ref关联,否则用value=“默认值”,每个property都对应类中的一个属性,多个具有默认值的属性就会有多个property。

    3、配置web.config

    原样写入

    4、修改global文件

    5、创建使用

      IApplicationContext ctx = ContextRegistry.GetContext(); //创建容器.
      IUserInfoService lister = (IUserInfoService)ctx.GetObject("UserInfoService");//GetObject中传入的参数与配置文件中Object的name值对应
    

    第5步中对象的创建交给容器,是控制反转IOC

    配置文件中对属性进行默认值赋值是依赖注入

     Spring.Net的AOP暂未用到,等以后使用后记录......

  • 相关阅读:
    《实例化需求》
    《编写有效用例》
    Alpha版总结会议
    团队开发冲刺第二阶段11
    团队开发冲刺第二阶段10
    团队开发冲刺第二阶段9
    团队开发冲刺第二阶段8
    团队开发冲刺第二阶段7
    团队开发冲刺第二阶段6
    团队开发冲刺第二阶段5
  • 原文地址:https://www.cnblogs.com/zhhwDavidblog/p/7953616.html
Copyright © 2020-2023  润新知