您的位置:首页 > 编程语言 > Java开发

Spring.net依赖注入及环境配置

2010-07-14 10:14 399 查看
1. 准备

到官方网站上下载最新的 Spring.net 压缩包。现在网站好像是不能访问。主要使用到的程序集包含:

antlr.runtime.dll
Common.Logging.dll
Spring.Core.dll
Spring.Web.dll
Spring.Data.dll
Spring.Services.dll
Spring.Aop.dll
Spring.Aspects.dll
2. 使用说明

Spring 通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了 IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为 IoC 与 JNDI 相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

我的理解是:Spring 将我们要用到的类配置在一个 XML 文件里,例如对一个操作 User 对象的服务类 UserService,对于 UserService 我们可以有不同的实现,可以使用 Oracle 或是 MySQL 数据库,我们可以统一接口写一个 IUserService 接口,共同实现获取 User 对象的方法。

User 类代码:

Objects.xml

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object id="Admin" type="SpringNet.Model.User, SpringNet.Model">
<property name="Id" value="EDNY20090114"/>
<property name="Name" value="晴天"/>
</object>
<object id="Me" type="SpringNet.Model.User, SpringNet.Model">
<property name="Id" value="ME20090114"/>
<property name="Name" value="薛明"/>
</object>
<object id="FaceBooks" type="SpringNet.Model.Facebooks, SpringNet.Model">
<constructor-arg name="fs">
<list element-type="SpringNet.Model.User, SpringNet.Model">
<ref object="Admin" />
<ref object="Me" />
</list>
</constructor-arg>
<property name="Ages">
<list element-type="int">
<value>1992</value>
<value>1998</value>
<value>2000</value>
</list>
</property>
</object>
</objects>


注:在进行 Facebooks 的构造参数的配置时,<constructor-arg name="fs">这里的 fs 就是 Facebooks 类中构造参数的名字。

同样的我们可以在 Default.aspx.cs 文件中:通过 Facebooks fbs = ctx.GetObject("FaceBooks") as Facebooks 来获取注入的对象。

通过 fbs.Ages 可以获取 int 集合对象等等。

最后程序运行截图:



8. 需要注意的地方

在注入对象时候,如果我们没有提供构造参数的配置,只是配置了注入对象的各个属性,我们就需要给注入的类实现一个无参数的构造函数,

或是对象里不要写任何构造函数,Spring 在实现注入对象的实例化时候,将调用类的默认构造函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐