Spring.NET学习笔记8——集合类型的注入(基础篇)

1.基础类

public class Happy
Spring.NET学习笔记8——集合类型的注入(基础篇)    {
Spring.NET学习笔记8——集合类型的注入(基础篇)        public override string ToString()
Spring.NET学习笔记8——集合类型的注入(基础篇)        {
Spring.NET学习笔记8——集合类型的注入(基础篇)            return "每天都开心,每天都有好心情";
Spring.NET学习笔记8——集合类型的注入(基础篇)        }
Spring.NET学习笔记8——集合类型的注入(基础篇)    }
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)    public class OneYear
Spring.NET学习笔记8——集合类型的注入(基础篇)    {
Spring.NET学习笔记8——集合类型的注入(基础篇)        public override string ToString()
Spring.NET学习笔记8——集合类型的注入(基础篇)        {
Spring.NET学习笔记8——集合类型的注入(基础篇)            return "快乐的一年";
Spring.NET学习笔记8——集合类型的注入(基础篇)        }
Spring.NET学习笔记8——集合类型的注入(基础篇)    }
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)    public class Person
Spring.NET学习笔记8——集合类型的注入(基础篇)    {

//下面都是预注入的属性
Spring.NET学习笔记8——集合类型的注入(基础篇)        public IList<Person> BestFriends { get; set; }
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)        public IList HappyYears { get; set; }
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)        public IList<int> Years { get; set; }
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)        public IDictionary HappyDic { get; set; }
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)        public IDictionary<string,object> HappyTimes { get; set; }
Spring.NET学习笔记8——集合类型的注入(基础篇)    }

2.配置文件

<?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">

<object id="person" type="SpringNetDi.Person, SpringNetDi">

<!--空集合属性-->
        <property name="BestFriends">
          <null/>
        </property>
        
        <!--System.Collections.IList注入 -->
        <property name="HappyYears">
          <list>
            <value>1992</value>
            <value>1998 年</value>
            <ref object="oneYear"/>
          </list>
        </property>

<!--System.Collections.IList<int>注入 -->
        <property name="Years">
          <list element-type="int">
            <value>1992</value>
            <value>1998</value>
            <value>2000</value>
          </list>
        </property>

<!--System.Collections.IDictionary注入-->
        <property name="HappyDic">
          <dictionary key-type="string" value-type="object">
            <entry key="第一开心" value="每天都能睡一个好觉"/>
            <entry key="第二开心" value-ref="happy"/>
          </dictionary>
        </property>

<!--System.Collections.IDictionary<object,object>注入-->
        <property name="HappyTimes">
          <dictionary key-type="string" value-type="object">
            <entry key="第一开心" value="每天都能睡一个好觉"/>
            <entry key="第二开心" value-ref="happy"/>
          </dictionary>
        </property>
        
      </object>

<object id="oneYear" type="SpringNetDi.OneYear,SpringNetDi"/>

<object id="happy" type="SpringNetDi.Happy,SpringNetDi"/>
      
    </objects>

</spring>

</configuration>

3.调用

class Program
Spring.NET学习笔记8——集合类型的注入(基础篇)    {
Spring.NET学习笔记8——集合类型的注入(基础篇)        static void Main(string[] args)
Spring.NET学习笔记8——集合类型的注入(基础篇)        {
Spring.NET学习笔记8——集合类型的注入(基础篇)            IApplicationContext ctx = ContextRegistry.GetContext();
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)            Person person = ctx.GetObject("person") as Person;
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine("空值");
Spring.NET学习笔记8——集合类型的注入(基础篇)            string bestFriend = person.BestFriends == null ? "我的朋友太多了" : "我只有一个好朋友";
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine(bestFriend);
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine();
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine("IList");
Spring.NET学习笔记8——集合类型的注入(基础篇)            foreach (var item in person.HappyYears)
Spring.NET学习笔记8——集合类型的注入(基础篇)            {
Spring.NET学习笔记8——集合类型的注入(基础篇)                Console.WriteLine(item);
Spring.NET学习笔记8——集合类型的注入(基础篇)            }
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine();
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine("泛型Ilist<int>");
Spring.NET学习笔记8——集合类型的注入(基础篇)            foreach (int item in person.Years)
Spring.NET学习笔记8——集合类型的注入(基础篇)            {
Spring.NET学习笔记8——集合类型的注入(基础篇)                Console.WriteLine(item);
Spring.NET学习笔记8——集合类型的注入(基础篇)            }
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine();
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine("IDictionary");
Spring.NET学习笔记8——集合类型的注入(基础篇)            foreach (DictionaryEntry item in person.HappyDic)
Spring.NET学习笔记8——集合类型的注入(基础篇)            {
Spring.NET学习笔记8——集合类型的注入(基础篇)                Console.WriteLine(item.Key + " 是 " + item.Value);
Spring.NET学习笔记8——集合类型的注入(基础篇)            }
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine();
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.WriteLine("泛型IDictionary<string,object>");
Spring.NET学习笔记8——集合类型的注入(基础篇)            foreach (KeyValuePair<string,object> item in person.HappyTimes)
Spring.NET学习笔记8——集合类型的注入(基础篇)            {
Spring.NET学习笔记8——集合类型的注入(基础篇)                Console.WriteLine(item.Key + " 是 " + item.Value);
Spring.NET学习笔记8——集合类型的注入(基础篇)            } 
Spring.NET学习笔记8——集合类型的注入(基础篇)
Spring.NET学习笔记8——集合类型的注入(基础篇)            Console.ReadLine();
Spring.NET学习笔记8——集合类型的注入(基础篇)        }
Spring.NET学习笔记8——集合类型的注入(基础篇)    }

4.结果

Spring.NET学习笔记8——集合类型的注入(基础篇)

上一篇:Python 面向对象编程——初见


下一篇:CF666E Forensic Examination 广义SAM、线段树合并、倍增、扫描线