Spring
小小小小小飞鸟
这个作者很懒,什么都没留下…
展开
-
向依赖关系宣战------------------------------------------------依赖倒置、控制反转和依赖注入辨析
<br />在《道法自然——面向对象实践指南》一书中,我们采用了一个对立统一的辩证关系来说明“模板方法”模式—— “正向依赖 vs. 依赖倒置”(参见:《道法自然》第15章[王咏武, 王咏刚 2004])。这种把“好莱坞”原则和 “依赖倒置”原则等量齐观的看法其实来自于轻量级容器PicoContainer主页上的一段话:<br /> “控制反转(Inversion of Control)的一个著名的同义原则是由Robert C. Martin提出的依赖倒置原则(Dependency Inversion P转载 2011-03-24 22:57:00 · 878 阅读 · 0 评论 -
spring源码学习笔记-初始化(三)-BeanFactory
转自http://www.sandzhang.com/blog/2011/04/05/spring-study-notes-initialization-3/refresh()方法中在上篇obtainFreshBeanFactory()方法创建了beanfactory对象,之后的代码就开始是对beanFactory对象的一些处理,BeanFactory相关的一些内容也是spring的核心内转载 2011-11-01 22:01:41 · 2300 阅读 · 0 评论 -
spring源码学习笔记-初始化(四)-PostProcessor
转自http://www.sandzhang.com/blog/2011/04/05/spring-study-notes-initialization-4/refresh()方法中在上篇看到了postProcessBeanFactory(beanFactory),这篇继续往下看。注:refresh()的代码就不再次列举了,请看spring源码中AbstractApplicationC转载 2011-11-01 22:05:07 · 1799 阅读 · 0 评论 -
spring源码学习笔记-初始化(五)-MessageSource/事件监听器
转自http://www.sandzhang.com/blog/2011/04/07/spring-study-notes-initialization-5/refresh()方法中在上篇看完了对PostProcessors的处理,这篇继续往下看。注:refresh()的代码就不再次列举了,请看spring源码中AbstractApplicationContext类。一、initM转载 2011-11-01 22:09:24 · 1887 阅读 · 0 评论 -
spring源码学习笔记-初始化(六)-完成及异常处理
转自http://www.sandzhang.com/blog/2011/04/08/spring-study-notes-initialization-6/refresh()方法中在上篇看完了MessageSource及时间监听器等初始话处理,这篇继续往下看。注:refresh()的代码就不再次列举了,请看spring源码中AbstractApplicationContext类。转载 2011-11-01 22:15:01 · 2659 阅读 · 0 评论 -
spring的BeanFactory和ApplicationContext源码详解(一)
转自http://www.sandzhang.com/blog/2011/04/10/Spring-BeanFactory-ApplicationContext-Detail-1/版本:spring-framework-3.0.5.RELEASESpring的最核心的部分就是BeanFactory了,当然我们现在很少直接使用这个类而是通过ApplicationContext来使用了,本转载 2011-11-01 22:21:31 · 2142 阅读 · 0 评论 -
spring的BeanFactory和ApplicationContext源码详解(二)
转自http://www.sandzhang.com/blog/2011/05/11/Spring-BeanFactory-ApplicationContext-Detail-2/版本:spring-framework-3.0.5.RELEASE接上篇继续一、首先看ConfigurableBeanFactory接口本接口继承了HierarchicalBeanFactory和Si转载 2011-11-01 22:23:54 · 1581 阅读 · 0 评论 -
使用BeanPostProcessor接口对受管Bean进行预处理
转自http://winneryj.iteye.com/blog/307736有时候,我们希望在Spring IoC容器初始化受管Bean之前、属性设置之后对该Bean先做一些预处理,或者在容器销毁受管Bean之前自己释放资源。那么该如何实现呢?Spring IoC为我们提供了多种方法来实现受管Bean的预处理和后处理。在Spring中定义了BeanPostProcessors接口,代转载 2011-11-29 22:39:21 · 2398 阅读 · 0 评论 -
Spring 的 BeanPostProcessor接口实现
转自http://blog.csdn.net/chensugang/article/details/3423650今天学习了一下Spring的BeanPostProcessor接口,该接口作用是:如果我们需要在Spring容器完成Bean的实例化,配置和其他的初始化后添加一些自己的逻辑处理,我们就可以定义一个或者多个BeanPostProcessor接口的实现。 下面我们来看转载 2011-11-29 22:26:46 · 1510 阅读 · 0 评论 -
spring 控制反转与依赖注入原理
转自http://www.iteye.com/topic/1118958在Spring中有两个非常重要的概念,控制反转和依赖注入;控制反转将依赖对象的创建和管理交由Spring容器,而依赖注入则是在控制反转的基础上将Spring容器管理的依赖对象注入到应用之中;所谓依赖注入:在运行期,由外部容器动态将依赖对象注入到组件中。XML文件解析 + Java反射技术;首转载 2011-12-17 23:07:22 · 1276 阅读 · 0 评论 -
spring源码学习笔记-初始化(二)-BeanFactory
转自http://www.sandzhang.com/blog/2011/04/02/spring-study-notes-initialization-2/上篇结束的地方简单介绍了一下refresh()方法,现在我们具体分析一下它的代码细节:1.首先可以看到整个refresh()的代码都是同步的,对应的同步对象是startupShutdownMonitor,我们看一下startupS转载 2011-11-01 21:58:40 · 4671 阅读 · 0 评论 -
spring源码学习笔记-初始化(一)-概览
转自http://www.sandzhang.com/blog/2011/03/30/spring-study-notes-initialization-1/版本:spring-framework-3.0.5.RELEASE 很多人看开源框架源代码的时候都不知道从哪里入手,我这里推荐一个最简单的办法,写一个最简单的应用的例子,然后根据这个应用一点一点查看在源码中的运行步骤,这样就能转载 2011-11-01 21:54:42 · 1882 阅读 · 0 评论 -
Spring源码学习(一)------ IoC
转自http://blog.csdn.net/cutesource/article/details/6132650一直想抽空把Spring源码拿来读读,但真正去做这件事的时候发现不简单,Spring发展这么多年,它的规模已不是一个一般的开源框架所能比的,它的主要架构和流程不是非常清晰,很难抓到要害,但有一点可以肯定,它的根基是IoC和AOP,所有的功能扩展和对其他开源框架的支持都是基于这两转载 2011-11-01 21:46:13 · 893 阅读 · 0 评论 -
依赖注入&控制反转 IoC 容器和Dependency Injection 模式
<br /> <br />转自http://blog.csdn.net/suncheng_hong/archive/2006/11/09/1375495.aspx<br />Java 社群近来掀起了一阵轻量级容器的热潮,这些容器能够帮助开发者将来自不同项目的组件组装成为一个内聚的应用程序。在它们的背后有着同一个模式,这个模式决定了这些容器进行组件装配的方式。人们用一个大而化之的名字来称呼这个模式:“控制反转”(Inversion of Control,IoC)。在本文中,我将深入探索这个模式的工作原理,给它转载 2011-03-24 23:24:00 · 799 阅读 · 0 评论 -
Spring声明式事务管理
转自http://book.51cto.com/art/200808/87197.htm通常建议采用声明式事务管理。声明式事务管理的优势非常明显,代码中无须关注事务逻辑,由 Spring 声明式事务管理负责事务逻辑:声明式事务管理无须与具体的事务逻辑糯合,可以方便地在不同事务逻辑之间切换。声明式事务管理的配置方式通常有如下四种。使用 TransactionProxyFactoryBean 为目标 bean 生成事务代理的配置。此方式最传统,但配置文件膝肿,难以阅读。采用 bean 继承的事务代理配置方式比较转载 2011-05-20 22:14:00 · 774 阅读 · 0 评论 -
Spring声明式事务管理续
<br />转自http://www.html.org.cn/books/springReference/ch09s05.html<br />大多数Spring用户选择声明式事务管理。这是对应用代码影响最小的选择,因此也最符合 非侵入式 轻量级容器的理念。<br />Spring的声明式事务管理是通过Spring AOP实现的,因为事务方面的代码与Spring绑定并以一种样板式风格使用, 不过尽管如此,你一般并不需要理解AOP概念就可以有效地使用Spirng的声明式事务管理。<br />从考虑E转载 2011-05-20 23:02:00 · 1221 阅读 · 0 评论 -
spring声明式事务管理祥述
<br />转自http://www.blogjava.net/DenisLing/archive/2005/12/01/22096.html<br />Spring也提供了声明式事务管理。这是通过Spring AOP实现的。<br />Spring中进行事务管理的通常方式是利用AOP(面向切片编程)的方式,为普通java类封装事务控制,它是通过动态代理实现的,由于接口是延迟实例化的,spring在这段时间内通过拦截器,加载事务切片。原理就是这样,具体细节请参考jdk中有关动态代理的文档。本文主要讲转载 2011-05-20 22:02:00 · 771 阅读 · 0 评论 -
Spring声明式事务管理及事务嵌套
<br />转自http://blog.csdn.net/mini_snow/archive/2009/08/03/4404654.aspx<br /><br />一> 事务配置<br />Spring动态代理的一个重要特征是,它是针对接口的,所以我们的dao要通过动态代理来让spring接管事务,就必须在dao前面抽象出一个接口,当然如果没有这样的接口,那么spring会使用CGLIB来解决问题。<br /> 一般地,使用Spring框架时,可在其applicationContext.xml文件中转载 2011-05-20 23:13:00 · 965 阅读 · 0 评论 -
深入浅出CGlib-打造无入侵的类代理
转自http://llying.iteye.com/blog/220452CGlib是什么? CGlib是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。 当然这些实际的功能是asm所提供的,asm又是什么?Java字节码转载 2011-09-25 14:45:02 · 782 阅读 · 0 评论 -
Spring技巧之活用FactoryBean
转自http://yongzhao.iteye.com/blog/27375Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean。工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该工厂Bean的getObject方法所返回的对象。在Spring框架内部,AOP相关的功能及事务处理中,很多地方使用到工厂Bean,本文简转载 2011-11-20 11:30:03 · 643 阅读 · 0 评论 -
Spring源码学习(二)------ AOP
转自http://blog.csdn.net/cutesource/article/details/6136275AOP有些特有的概念,如:advisor、advice和pointcut等等,使用或配置起来有点绕,让人感觉有些距离感,其实它的实现就是一组标准的设计模式的组合使用:Factory、Proxy、Chain of Responsibility,只要搞清楚这几个设计模式,读AOP的转载 2011-11-01 21:47:28 · 1177 阅读 · 0 评论 -
全面分析 Spring 的编程式事务管理及声明式事务管理
转自http://www.ibm.com/developerworks/cn/education/opensource/os-cn-spring-trans/index.htmlSpring 事务属性分析事务管理对于企业应用而言至关重要。它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性。就像银行的自助取款机,通常都能正常为客户服务,但是转载 2011-12-24 15:04:07 · 789 阅读 · 0 评论