学习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);
}
}
所谓依赖注入(Dependency Injection)就是指,在运行期,由外部容器动态地将依赖对象注入到组件中。
over~