Spring.net依赖注入及环境配置
2010-07-14 10:14
399 查看
1. 准备
到官方网站上下载最新的 Spring.net 压缩包。现在网站好像是不能访问。主要使用到的程序集包含:
2. 使用说明
Spring 通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了 IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为 IoC 与 JNDI 相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
我的理解是:Spring 将我们要用到的类配置在一个 XML 文件里,例如对一个操作 User 对象的服务类 UserService,对于 UserService 我们可以有不同的实现,可以使用 Oracle 或是 MySQL 数据库,我们可以统一接口写一个 IUserService 接口,共同实现获取 User 对象的方法。
User 类代码:
Objects.xml
注:在进行 Facebooks 的构造参数的配置时,<constructor-arg name="fs">这里的 fs 就是 Facebooks 类中构造参数的名字。
同样的我们可以在 Default.aspx.cs 文件中:通过 Facebooks fbs = ctx.GetObject("FaceBooks") as Facebooks 来获取注入的对象。
通过 fbs.Ages 可以获取 int 集合对象等等。
最后程序运行截图:
8. 需要注意的地方
在注入对象时候,如果我们没有提供构造参数的配置,只是配置了注入对象的各个属性,我们就需要给注入的类实现一个无参数的构造函数,
或是对象里不要写任何构造函数,Spring 在实现注入对象的实例化时候,将调用类的默认构造函数。
到官方网站上下载最新的 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 |
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 在实现注入对象的实例化时候,将调用类的默认构造函数。
相关文章推荐
- Spring.net 控制反转(IOC)依赖注入(DI)的使用 以及Config文件的配置
- Spring基础配置 - 依赖注入
- Spring中使用事务搭建转账环境方法二 相对简便的注解方法 ——配置文件注入对象属性需要setter方法 注解方法,不需要生成setter方法
- 【第十二章】零配置 之 12.2 注解实现Bean依赖注入 ——跟我学spring3
- spring-boot实战【05】:Spring Boo多环境配置及配置属性注入到对象
- spring.net (3)依赖注入基础2
- Spring Boot自动配置(Auto-Configuration),@EnableAutoConfiguration,Spring Beans和依赖注入
- spring依赖注入配置及简写形式
- Spring 依赖注入方式详解(配置注入)
- Spring.NET依赖注入框架学习-- 泛型对象的创建和使用
- Spring环境搭建之:控制反转(IoC Inversion of Control)与依赖注入(DI Depenency Injection)
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【四】——实现模型工厂,依赖注入以及格式配置
- 使用dom4j:读取spring配置文件,实例化bean对象并注入依赖对象
- Spring——基于XML配置的依赖注入
- 原始方式:spring四种依赖注入方式 |注解方式:Spring零配置通过注解实现Bean依赖注入
- 传智播客 Spring学习 xml配置依赖注入
- ASP.NET_MVC使用Spring.Net.MVC依赖注入学习笔记
- Spring依赖注入的xml文件的配置
- Spring环境搭建之:控制反转(IoC Inversion of Control)与依赖注入(DI Depenency Injection)