Spring.NET学习笔记7——依赖对象的注入(基础篇) Level 200
本文内容纲要:Spring.NET学习笔记7——依赖对象的注入(基础篇) Level 200
一、属性注入
上篇我们简单提到依赖注入的用途。回顾一下所讲内容,发现在object节点下使用了
值类型的注入是需要使用property 节点的value属性。如<propertyname="Name" value="Liu Dong"/>
作为内联类型可以使用如下:
同理,内联类型可以是循环引用的对象(见代码处)。
二、构造函数注入
构造器注入使用constructor-arg标签作为标识。同样具有于属性注入相同的方式,使用name、ref、value作为构造器注入的属性,如下:
程序的代码如下:
publicclass Person
{
publicstring Name { get; set; }
publicint Age { get; set; }
public Person Friend { get; set; }
}
PersonDao
publicclass PersonDao
{
private Person argPerson;
privateint intProp;
public PersonDao(Person argPerson, int intProp)
{
this.argPerson = argPerson;
this.intProp = intProp;
}
publicvoid Get()
{
//构造函数注入的整型参数
Console.WriteLine(string.Format("intProp:{0}", intProp));
//构造函数注入的Person
Console.WriteLine(string.Format("argPerson Name:{0}", argPerson.Name));
Console.WriteLine(string.Format("argPerson Age:{0}", argPerson.Age));
//内联对象Friend
Console.WriteLine(string.Format("argPerson Friend Name:{0}", argPerson.Friend.Name));
Console.WriteLine(string.Format("argPerson Friend Age:{0}", argPerson.Friend.Age));
//内联对象的循环引用
Console.WriteLine(string.Format("argPerson Friend Friend Name:{0}", argPerson.Friend.Friend.Name));
Console.WriteLine(string.Format("argPerson Friend Friend Age:{0}", argPerson.Friend.Friend.Age));
}
}
App.config
Program
class Program
{
staticvoid Main(string[] args)
{
IApplicationContext ctx = ContextRegistry.GetContext();
PersonDao dao = ctx.GetObject("personDao") as PersonDao;
dao.Get();
Console.ReadLine();
}
}
输出效果如下:
代码下载
返回目录
本文内容总结:Spring.NET学习笔记7——依赖对象的注入(基础篇) Level 200
原文链接:https://www.cnblogs.com/GoodHelper/archive/2009/11/01/SpringNET_IoC1.html
以上是 Spring.NET学习笔记7——依赖对象的注入(基础篇) Level 200 的全部内容, 来源链接: utcz.com/z/362597.html