Spring.Net

Spring.Net 本质就是一个抽象工厂。容器(IApplicationContext)通过配置创建一个对象。

1.创建对象(IoC)

<?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="config://spring/objects"/>
    </context>
    <objects xmlns="http://www.springframework.net">
      <description>An  example that demonstrates simple IoC features.</description>
    </objects>
  </spring>
</configuration>
初始化容器配置

自动提示功能可通过schema文件约束:spring-objects-1.3.xsd

在object节点导入命名空间即可。

初始化容器对象:

IApplicationContext ctx = ContextRegistry.GetContext();

需要引用2个程序集:Common.Logging.dll和Spring.Core.dll

配置一个类型:

<objects xmlns="http://www.springframework.net">
<description>An example that demonstrates simple IoC features.</description>
<object name="{调用名}" type="{类的限定名}, {项目名}">
</object>
</objects>
配置一个待实例化的类

实例化:

ctx.GetObject("{调用的名字}") 

2.依赖注入(DI)

<objects xmlns="http://www.springframework.net">
  <object name="MyMovieLister"      type="Spring.Examples.MovieFinder.MovieLister, Spring.Examples.MovieFinder">
    <property name="movieFinder" ref="MyMovieFinder"/>
  </object>
  <object name="MyMovieFinder"        type="Spring.Examples.MovieFinder.SimpleMovieFinder, Spring.Examples.MovieFinder"/>
  </object>
</objects>
属性注入
  <object name="AnotherMovieFinder"      type="Spring.Examples.MovieFinder.ColonDelimitedMovieFinder, Spring.Examples.MovieFinder">
    <constructor-arg index="0" value="movies.txt"/>
  </object>
构造器参数注入
原文地址:https://www.cnblogs.com/neverc/p/4010314.html