把一个简单的类通过反转注入为一个实例.练习基本的config配置 (使用constructor-arg),需要引用Spring.Core
用户类User.cs:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConstructorDemo
{
/**/
/// <summary>
/// 用户类
/// </summary>
public class User
{
private string name;
private int age;
//属性
public int Age
{
get
{
return age;
}
set
{
age = value;
}
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
//Contructor
public User()
{
}
public User(int age, string name)
{
this.age = age;
this.name = name;
}
}
}
配置文件Config.xml:
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.net
http://www.springframework.net/xsd/spring-objects.xsd">
<object id="myUser" type="ConstructorDemo.User,ConstructorDemo">
<constructor-arg name="name" type="string">
<value>Luori</value>
</constructor-arg>
<constructor-arg name="age" type="int" value="20"/>
</object>
</objects>
Main类StartMain:
using System;
using System.Collections.Generic;
using System.Text;
using Spring.Context;
using Spring.Context.Support;
namespace ConstructorDemo
{
class StartMain
{
public static void Main(string[] args)
{
IApplicationContext context = null;
string [] files=new string[1];
files[0] = "assembly://ConstructorDemo/ConstructorDemo/Config.xml";
context = new XmlApplicationContext(files);
User user = (User)context.GetObject("myUser");
Console.WriteLine(user.Name + "-" + user.Age);
Console.Read();
}
}
}
用户类User.cs:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConstructorDemo
{
/**/
/// <summary>
/// 用户类
/// </summary>
public class User
{
private string name;
private int age;
//属性
public int Age
{
get
{
return age;
}
set
{
age = value;
}
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
//Contructor
public User()
{
}
public User(int age, string name)
{
this.age = age;
this.name = name;
}
}
}
配置文件Config.xml:
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.net
http://www.springframework.net/xsd/spring-objects.xsd">
<object id="myUser" type="ConstructorDemo.User,ConstructorDemo">
<constructor-arg name="name" type="string">
<value>Luori</value>
</constructor-arg>
<constructor-arg name="age" type="int" value="20"/>
</object>
</objects>
Main类StartMain:
using System;
using System.Collections.Generic;
using System.Text;
using Spring.Context;
using Spring.Context.Support;
namespace ConstructorDemo
{
class StartMain
{
public static void Main(string[] args)
{
IApplicationContext context = null;
string [] files=new string[1];
files[0] = "assembly://ConstructorDemo/ConstructorDemo/Config.xml";
context = new XmlApplicationContext(files);
User user = (User)context.GetObject("myUser");
Console.WriteLine(user.Name + "-" + user.Age);
Console.Read();
}
}
}