摘要:如果在你的项目中,配置的没有报错,但是总是注入进来的都是null的话,可查看配置文件所在的项目是否添加了配置文件中所引用或配置了的项目。还有就是mvc中control中注入都失败了。这个最后还是采用了cs的办法来获取的业务逻辑层的实体类,多少有点遗憾。 下面再回顾一下整个项目搭建的流程:1、准备开发环境:Spring.Net 、Nhibernate 、Asp.Net Mvc、Vs2008 sp1等...
阅读全文
随笔分类 - Spring.Net
1
摘要:本篇文章:主要介绍怎么使用这套框架。在做好配置等前期工作后。我们就是要与Mvc进行融合了。由于Mvc本人也是个初级入门者。对于这部分的研究还不是很深入。但是基本应用已经可以了。下面就让我们开始一个简单的应用实例吧:第一步:添加control在web项目中的controls文件夹下面添加一个UserController.cs文件。【这里可以把Controls单独放到一个项目中,这里只是搭建框架的演示...
阅读全文
摘要:本篇目的:配置Spring.Net和Nhibernate。配置Spring.Net来注入Nhibernate需要的SessionFactory,配置业务逻辑层所需要的Dao层属性的支持。配置这套框架与web程序关联。 在上一篇我们已经将三层基本搭建起来了。这篇中我们将要讲述怎样通过配置,将三层通过IOC注入。现在我们开始我们的旅程:第一步:配置实体类【Model】对应的数据库映射文件。Nhiber...
阅读全文
摘要:本篇是介绍我们完成数据库接口层和业务逻辑层的接口的设计和实现。废话不多讲,还是怎么一步一步做。第一步:设计IDao层。在MyWeb.WebTemp.IDao项目中添加IUserDao接口。代码如下:代码注:要添加Model项目的引用。因为我们用到了User实体类。第二步:实现IDao设计。在MyWeb.WebTemp.HibernateDao项目中添加类文件:UserDaoHibernate.cs...
阅读全文
摘要:本篇文章的目的:首先是创建解决方案。并创建相关的项目。先介绍一下项目的各自的作用:从数据库层到表示层依次为:数据库层: 1、接口IDao层:IDao 2、Dao层实现:HibernateDao和SqlDao HibernateDao:由Hibernate实现的IDao部分 SqlDao:是由我们自己写sql实现的部分业务逻辑层: 1、业务逻辑接口层:IBLL 2、业务逻辑接...
阅读全文
摘要:使用这套框架不是很长时间。但也基本应用了几个项目中了。在此和大家分享一下我是怎样一步一步搭建此框架的。并为初学者提供一个简单的示范。欢迎共同讨论技术问题。【本人纯属菜鸟!不足之处多谅解!】第一步: 首先要看一下我项目中三层与mvc以及Spring.Net,Nhibernate处在的哪一层。看下面一幅图:先做为一个大体的思路和了解。第二步: 了解Spring.Net做什么用?http://www.s...
阅读全文
摘要:上篇我学习了Spring.NET的四种通知类型,AOP的实现方案比较复杂,是通过代码实现的。而Spring.NET框架给我们提供了配置的方式来实现AOP的功能。到目前为止,我们已经讨论过使用ProxyFactoryObject或其它类似的工厂对象显式创建AOP代理的方法。如果应用程序需要创建很多AOP代理,比如当需要代理某个服务层的所有对象时,这种方法就会使配置文件变的相当庞大。为简化配置过程,S...
阅读全文
摘要:上篇我们简单的了解了AOP的应用场景,知道AOP编程的重要性。这篇我们先看一段代码,来开始今天的学习。 回顾与上篇类似的代码:SecurityService类的IsPass判断用户名为“admin”则有权限保存数据。OrderService为保存数据的类,实现IOrderService接口。[代码] 实现部分[代码][代码] 客户端部分:[代码] 输出: 保存:1...
阅读全文
摘要:AOP即面向切面编程(Aspect Oriented Programming的缩写),是OOP(面向对象编程)的一种延续形式。是通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术,它从一个不同于OOP的角度来看待程序的结构:OOP将应用程序分解为一系列表现为继承关系的对象;AOP 则把程序分解为一系列方面(aspects)或者关注点(concerns)。AOP...
阅读全文
摘要:Spring.NET通过几个专门的接口来控制容器中对象的行为。说到对象的行为无非就要提到对象的生命周期控制。类似在WinForm开发,Form生命周期中,Load方法为Form的载入方法和Dispose方法为Form的销毁方法。Spring.NET都能完美的实现这些需求。 一、生命周期接口 在使用Spring.NET框架的时候通常遇到怎样初始化和销毁非托管资源(如数据库连接)的麻烦,...
阅读全文
摘要:多数用户都会将容器中的大部分对象布署为singleton模式。当一个singleton对象需要和另一个singleton对象协作,或者一个非singleton对象需要和另一个非singleson对象协作时,Spring.NET都能很好的处理它们的依赖关系。但是,如果对象的生存周期不同,就可能会产生问题。例如,假设一个singleton对象A要使用一个非singleton(原型)对象B,A中的每个方...
阅读全文
摘要:我们在第三篇中学习里一个简易的IoC框架。今天我们接着上次的程序,实现带参数构造函数对象的实例和属性的注入 。 我们知道可以通过反射获取类的构造函数及参数(GetConstructors方法);可以获取属性和属性的类型(GetProperties方法)。通过Activator的CreateInstance(Type type, params object[] args)方法可以创建带参数构造函数...
阅读全文
摘要:Spring.NET还支持集合类型的注入。而且使用起来也比较方便。 一、ILIst类型 使用<list>元素作为ILIst的标签,value为集合中元素的值。也可以注入对象,甚至关联其它对象,使用 <ref/>元素表示关联的对象,object 属性为所关联对象的id或name。集合可以为空,用<null/>元素来标记。 在<list>元素中设置...
阅读全文
摘要:一、属性注入 上篇我们简单提到依赖注入的用途。回顾一下所讲内容,发现在object节点下使用了<propertyname="Tool"ref="computer"/>。而property标签正是用来属性注入的。而ref是用来标识是关联到哪个object。而name属性是指属性名。如下:<objectid="modernPerson"type="SpringNetIoC.Mode...
阅读全文
摘要:谈到高级语言编程,我们就会联想到设计模式;谈到设计模式,我们就会说道怎么样解耦合。而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny Injection)简称DI,目前DI是最优秀的解耦方式之一。下面我就来谈谈依赖注入的应用场景。 我模拟了三种不同的场景,可以一起学习使用依赖注入的重要性。 下面是应用场景的条件:人类使用工具劳动。[代码...
阅读全文
摘要:容器中对象的部署分为两种方式:singleton和非singleton(java里叫prototype)。这里的singleton指的是“单例模式”,就是说当一个对象被定义为singleton时,容器中就只会有一个共享的实例,任何时候通过id或别名请求该对象都会返回这个共享实例的引用(也就是说这个对象只会被创建一次)。当使用非singleton,或者说原型模式布署时,每次请...
阅读全文
摘要:学过了前面的课程,我们来一起学习Spring.NET的IoC容器对象的创建。 创建对象一般有3种方式:1.构造器创建,2.静态工厂创建,3.实例工厂创建 多数情况下,容器会根据对象定义中的type属性值去直接调用相应类型的某个构造器。另外,容器也可以调用工厂方法来创建对象,这时type属性的值就应该是包含工厂方法的类型(按:而不是要创建的类型,但通过该对象定义的名称获取的则是由工厂方法所创建的...
阅读全文
摘要:讲了这么多理论,我们来手动实现一个简易的IoC框架的,这样可以加深IoC的理论知识。 一、思路在我们使用Spring.NET框架的时候,首先需要实例化Spring.NET容器, 然后调用IoC容器IObjectFactory接口中GetObject方法获取容器中的对象。通过这一点就可以告诉我们制作IoC容器需要写一个获取XML文件内容的方法和申明一个Dictionary<string, o...
阅读全文
摘要:我们先来一起学习一下怎样使用Spring.NET。 一、环境下载及安装 到Spring的官方网站下载Spring.NET框架的安装文件(Spring.NET-1.3.0-RC1.exe)。目前Spring.NET最新的版本是1.3。下载并解压后就可以了。我们使用Spring.NET框架经常用到的一下几个文件:Common.Logging.dll(必要)Spring.Core.dll(必要)Sp...
阅读全文
摘要:在学习Spring.NET这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC)。 控制反转(Inversion of Control,英文缩写为IoC),也叫依赖注入(Dependency Injection)。我个人认为控制反转的意思是依赖对象(控制权)发生转变,由最初的类本身来管理依赖对象转变为IoC框架来管理这些对象,使得依赖脱离类本身的控制,从...
阅读全文
1

浙公网安备 33010602011771号