IOC原理
-
定义:控制反转,将底层类作为参数传递给上层类。传统是将上层类作为参数传给底层类。它是一种思想,不是一种技术,spring Core最核心的一部分。
-
依赖注入(DI):
- 举例:设计一个行李箱,先设计轮子,再根据轮子设计底盘,再根据底盘设计箱体。类依赖关系如上图所示,现在如果想要把size变成固定值为20,那么所有构造函数中的20都要去掉,这样一 改全改,那么这样工作量巨大,程序员一大部分经历都放在低级的修改上,不能专注于业务。现在引入依赖注入。
- 定义:把底层类作为参数传递给上层类,实现上层对下层的控制。
如果想把轮胎的尺寸设计成可变,那么这次只变轮胎部分代码即可,工作量大大减少。还有set和接口等诸如方法 - 举例:设计一个行李箱,先设计轮子,再根据轮子设计底盘,再根据底盘设计箱体。类依赖关系如上图所示,现在如果想要把size变成固定值为20,那么所有构造函数中的20都要去掉,这样一 改全改,那么这样工作量巨大,程序员一大部分经历都放在低级的修改上,不能专注于业务。现在引入依赖注入。
-
IOC和DI、DL之间的关系
将底层类传给上层是一种初始化的方案,方式是通过依赖注入,体现了控制反转的思想。
-
注入方式:Setter、Interface、Constructor、Annotation
-
IOC容器具体创建实例的细节
-
IOC整体原理
-
IOC核心功能
-
依赖注入
-
自动装配:由于在手动配置xml过程中,常常发生字母缺漏和大小写等错误,而无法对其进行检查,使得开发效率降低。采用自动装配将避免这些错误,并且使配置简单化。
<bean id="cat" class="com.hdu.autowire.Cat"></bean> <bean id="dog" class="com.hdu.autowire.Dog"></bean> <bean id="user" class="com.hdu.autowire.User" autowire="byName"> </bean>
-