IOC
IOC(Inversion of Control),中文意思是控制权反转。
那么这个是什么意思呢?其实这个控制权是对于对象的创建来说的。
那么我们是怎么创建对象的?在学习Spring框架以前,我们一般是通过new关键字调用构造方法来创建对象,是主动的。
//通过new关键字创建对象
CarDao carDao = new CarDao();
这种创建对象的方法简单,直接,可读性好,但是不易于管理。因为在我们学习了MVC分层思想后,控制层里面会有Service,Service层中会有Dao,一个项目会有大量的Controller,Service,Dao,如果我们每个这样的类都去通过new创建需要的对象,结构会非常的混乱,对象不易于管理。
现在Spring 帮我们解决了这种麻烦,我们在配置文件中配置所需要的bean,有需要的时候直接拿出来用。
<bean id="car" class="com.lch.spring.domain.Car"></bean>
BeanFactory factory = new ClassPathXmlApplicationContext("bean.xml");
Car car = (Car) factory.getBean("car");