随笔分类 - 循序渐进之Spring.Net框架

摘要: 前面两节谈到了 AOP 的概念以及我们使用代理模式来模拟了 AOP ,在代理类中,我们对所有的方法进行了拦截,并没有做更细的处理。 Spring.Net 中帮我们提供了一套完善的 AOP 框架,对于目前绝大部分的需求都能够提供完整的支持。Spring.Net 中帮我们提供了多种对方法的拦截的方式,这阅读全文
posted @ 2013-03-25 14:15 何旭 阅读(1494) | 评论 (12) 编辑
摘要: 上一篇讲了 AOP 和 OOP 的区别,这一次我们开始入门 AOP 。实现面向方面编程的技术,主要分为两大类: 一是 采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行; 二是 采用静态织入的方式,引入特定的语法创建 “方面”,从而使得编译器可以在编译期间织入有关 “方阅读全文
posted @ 2013-03-21 13:14 何旭 阅读(2105) | 评论 (6) 编辑
摘要: 面向方面编程,又称面向切面编程(Aspect-Oriented-Programming),英文缩写 AOP,可以说是 OOP(Object-Oriented-Programming)面向对象编程的补充和完善。OOP 引入封装,继承,多态性等概念来建立一种对象层次结构,这种对象层次结构通俗的说也就是我们所说的软件。对于 OOP,我记得 Bruce Eckel 有一句名言,“ Everything is Object. ”,中文翻译为 “万物皆对象” 。我们可以将万物定义为一些对象,并将这些对象的行为和属性封装起来,同时定义好对象与对象之间的关系。实质上,在现实开发中,往往有一些角落一直以来被..阅读全文
posted @ 2013-03-19 15:47 何旭 阅读(1804) | 评论 (2) 编辑
摘要: 在前面章节有童鞋提到过 关于配置文件 Objects.xml 路径的相关问题,这些东西是 IResource 接口的一些内容,接下来就详细介绍一下 IResource 接口。 IResource 接口 位于Spring.Core.IO 命名空间下,它能够使用统一的方式描述和访问不同类型的资源。通过该接口可以使用类似多态,与协议无关的方式来处理文件和URI资源。IResource 接口继承自 IInputStream 接口,后者只有一个属性: Stream InputStream , IResource 又在其基础上添加了一系列属性用来描述资源的信息。 如图,可以看到 IResource...阅读全文
posted @ 2013-03-16 15:28 何旭 阅读(1249) | 评论 (3) 编辑
摘要: 各位,实在不好意思,因为有事,博客几天没更新了。前面有童鞋提到,配置 Objects.xml 路径的相关问题,这些东西是 IResource 接口的一些内容。在下一章会详细介绍。 传统的Net应用中,对象的生命周期非常简单。.Net中的关键词 new 用来实例化对象(或许它是非序列化的)。这样就够用阅读全文
posted @ 2013-03-14 12:53 何旭 阅读(1473) | 评论 (5) 编辑
摘要: 我们在开发中,经常需要让对象了解自己所在的容器的信息,例如,有时我们需要让对象知道,对象所在容器的引用是什么,或者是对象在容器中的名称是什么 。Spring.Net 中提供了两个接口,我们使用这两个接口可以让对象了解自己的容器。 一 . IObjectFactoryAware 接口 实现了 Spri阅读全文
posted @ 2013-03-12 10:49 何旭 阅读(1198) | 评论 (1) 编辑
摘要: 官方取名叫 对象后处理器 (object post-processor) , 听起来很高级的样子啊!实际上就是所有实现了这个接口的类,增加了两个方法。 Spring.Objects.Factory.Config.IObjectPostProcessor 接口,该接口包括两个方法: //在每个对象的初阅读全文
posted @ 2013-03-06 14:03 何旭 阅读(969) | 评论 (4) 编辑
摘要: Spring.Net 一直讲求 ” 配置应用程序“,有一种需求在实际开发中不太常用,却非常有用 -> 配置对象的行为,Spring.Net 也能够完美的实现。Spring.Net 通过几个专门的接口来控制容器中对象的行为。比如说,我们可以自定义对象初始化行为,自定义对象销毁行为,抽象对象定义和子对象阅读全文
posted @ 2013-03-04 19:26 何旭 阅读(1624) | 评论 (6) 编辑
摘要: 在 Spring.Net 中对象初始化的方式分为两种: ① 急切实例化,也就是说 Spring.Net 容器初始化的时候将对象先实例化出来。 ② 延迟实例化,也就是说我们在调用 GetObject 方法时才实例化该对象。 Spring.Net 默认使用的 急切实例化 ( lazy-init=“fal阅读全文
posted @ 2013-03-01 16:58 何旭 阅读(1690) | 评论 (8) 编辑
摘要: Spring.Net 中对象的作用域,就是描述对象的部署模式 ,Spring.Net 中对象可以通过两种模式布署: ① singleton(单例模式) ② 非singleton 也叫非单例模式(或者叫做 prototype,只是用在这里不是很合适) 当一个对象被定义为 singleton 时,容器中阅读全文
posted @ 2013-03-01 13:45 何旭 阅读(1439) | 评论 (3) 编辑
摘要: 由于这几天都比较忙,所以对笔记暂时没有更新。 Spring.NET具有自动装配的能力,也就是说,Spring.NET可以通过对象的定义自动分辨某个对象的协作对象。自动装配是针对单个对象(按:针对每个协作对象)进行的,所以可对某些对象启用自动装配而某些对象关闭自动装配(按:即自动装配某些协作对象,而不阅读全文
posted @ 2013-02-27 18:05 何旭 阅读(2145) | 评论 (1) 编辑
摘要: 前面我们知道了什么是对象,什么是对象工厂,什么是应用程序上下文。这一次我们来看一下对象的装配。 Spring.Net 中有多种装配对象的方式,装配这个词可能比较学术化,我们可以理解为对象的创建。 Spring.Net 中常用的装配方式有 手动装配和自动装配。手动装配就是根据配置文件然后装配对象,而自阅读全文
posted @ 2013-02-25 14:14 何旭 阅读(2294) | 评论 (6) 编辑
摘要: 在前面一章我们介绍了依赖注入,控制反转的概念,以及自己动手搭建了一下Spring.Net的环境。通过这些操作,我们知道了Spring.Net 的核心是使用依赖注入或控制反转这种思想来管理业务对象,降低程序的依赖耦合。这一次的笔记,就是来了解一下,Spring.Net 如何管理我们的类。4.1 对象,对象工厂和应用程序上下文介绍 在前面的章节,我们曾稍微提到过关于对象,对象工厂和应用程序上下文。我们也知道了可以用这些接口来管理对象,接下来会详细介绍他们。 Spring.Core 程序集是Spring.Net的IOC容器管理对象的基础,在Spring.Core程序集中提供了IObjectF...阅读全文
posted @ 2013-02-25 11:00 何旭 阅读(2404) | 评论 (10) 编辑
摘要: 在前面一章我们介绍了依赖注入,控制反转的概念。接下来我们来真正动手搭建一下Spring.Net的环境,看一下Spring.Net 中的控制反转和依赖注入是什么样子。 3.1 Spring.Net 下载 在Spring.Net的官方网站http://www.springframework.net/ 我阅读全文
posted @ 2013-02-22 13:23 何旭 阅读(3550) | 评论 (7) 编辑
摘要: Spring.Net 中提供了很多功能,比如依赖注入,面向切面编程(AOP),数据访问抽象以及ASP.Net扩展等等的功能。而其中最核心的功能就是依赖注入(Dependency Injection),而使用依赖注入带来的最大好处就是能够通过它降低应用程序中对象与对象之间的耦合。 控制反转(Inversion of Control)和 依赖注入(Dependency Injection),他们的英文缩写分别是IOC和DI,其实它们是同一个概念的不同角度的描述,由于控制反转概念比较模糊(可能只是理解为容器控制对象这一个层面,很难让人想到谁来维护对象关系),所以2004年大师级别人物Marti...阅读全文
posted @ 2013-02-21 15:59 何旭 阅读(2094) | 评论 (0) 编辑
摘要: 1.1 概述 在Java社区中Spring经历的长时间的考验,已经是一套很成熟稳定的框架。而Spring.Net 的前身是 Java版的Spring。Spring.Net是以Java版的Spring框架为基础,将Spring(Java版)的概念和编程思想移植到.Net平台上来。 Spring.Net 是一个应用程序框架,它的目的是帮助软件开发人员创建企业级的.Net应用程序。它提供了很多方面的功能,比如依赖注入,面向切面编程(AOP),数据访问抽象以及ASP.Net扩展等等的功能。 Spring.Net 框架是一套轻量级的面向企业级应用的开源框架。Spring.Net 不仅是开源的,而且...阅读全文
posted @ 2013-02-21 13:50 何旭 阅读(2367) | 评论 (7) 编辑
摘要: 突然发现已经接近半年没有写过博客了,熙熙攘攘的城市里发生了巨大的变化。而IT行业也在开始变革,各种新技术,新思维。大数据,云计算的发展,代表者移动互联网的时代即将到来。可是我们还是要回归本质,服务器才是本质。在Java 社区SSH ( Struts-Spring-Hibernate) 框架大行其道的阅读全文
posted @ 2013-02-21 13:34 何旭 阅读(2101) | 评论 (10) 编辑