前言:
控制反转(Inversion of Control,英文缩写为IoC); 面向切面编程(Aspect Oriented Programming,英文缩写为AOP)
我们是在使用spring框架的过程中,很大一部分是为了使用IoC(依赖注入),和AOP(面向切面编程),这两个是Spring的灵魂。其中主要用到的设计模式有工厂模式和代理模式。IoC就是典型的工厂模式,通过sessionfactory去注入实例。AOP就是典型的代理模式的体现。spring的IoC容器是spring的核心,spring AOP是spring框架的重要组成部分。
再次引用一段话:
首先想说说IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想办法认识她们,投其所好送其所要,然后嘿嘿……这个过程是复杂深奥的,我们必须自己设计和面对每个环节。传统的程序开发也是如此,在一个对象中,如果要使用另外的对象,就必须得到它(自己new一个,或者从JNDI中查询一个),使用完之后还要将对象销毁(比如Connection等),对象始终会和其他的接口或类藕合起来。<