读书人

什么是统制反转IOC-Spring框架介绍(一)

发布时间: 2012-08-28 12:37:01 作者: rapoo

什么是控制反转IOC---Spring框架介绍(一)

学习Spring框架,首先来看什么是Spring?

Spring是一个开源的控制反转(Inversion of Control,IOC)? 和面向切面(AOP)的容器框架。它的主要目的是简化企业开发。

概念里有两个关键词,很明显是IOC与AOP,弄明白了这两个概念,也就清楚了Spring的概念。

首先来看,什么是IOC。请看下面的业务层实现类PersonServiceBean类

public class PersonServiceBean{
?private PersonDao personDao = new PersonDaoBean();

?public void save(Person person){
?? personDao save(person);
}

}

在上述类中,PersonDaoBean 是在应用内部创建及维护的。而所谓的控制反转就是应用本身不负责依赖对象的创建及维护。依赖对象的创建及维护是由外部容器负责的。这样控制权就有应用转移到了外部容器,控制权的转移就是所谓的控制反转。在这里外部容器就是我们的Spring容器。(接下来引入依赖注入的概念)

当我们把依赖对象交给外部容器负责创建,那么PersonServiceBean类可以修改成如下:
public class PersonServiceBean{
? private PersonDao personDao;
?<!--这里通过构造器参数,让容器把创建好的依赖对象注入进PersonServiceBean,也可以用setter方法进行注入-->
? public PersonServiceBean(PersonDao personDao){
??? this.personDao=personDao;
?}
?? public void save(Person person){
???? ersonDao.save(person);
}
}
所谓依赖注入—ependency Injection)就是指,在运行期,由外部容器动态地将依赖对象注入到组件中。

over~

读书人网 >软件架构设计

热点推荐