IOC & DI 概述

  • IOC(Inversion of Control):反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源. 作为回应, 容器适时的返回资源. 而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式
  • DI(Dependency Injection) — IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入.

配置 bean: 基于 XML 文件的方式

Bean 的配置方式:通过全类名(反射)

class: bean的全类名,通过反射的方式在IOC容器中创建Bean。所以要求Bean中必须有无参数的构造器,否则会报错
3-Spring 中的 Bean 配置

IOC 容器 :BeanFactory & ApplicationContext
依赖注入的方式:属性注入;构造器注入
  • 在 xml 文件中通过 bean 节点来配置 bean
    3-Spring 中的 Bean 配置

Spring IOC容器

3-Spring 中的 Bean 配置

ApplicationContext

3-Spring 中的 Bean 配置
3-Spring 中的 Bean 配置

从 IOC 容器中获取 Bean:调用 ApplicationContext 的 getBean() 方法

3-Spring 中的 Bean 配置
3-Spring 中的 Bean 配置

依赖注入的方式

属性注入

3-Spring 中的 Bean 配置
3-Spring 中的 Bean 配置

构造方法注入

3-Spring 中的 Bean 配置

按索引匹配入参:

3-Spring 中的 Bean 配置

按类型匹配入参

3-Spring 中的 Bean 配置

工厂方法注入(很少使用,不推荐)

相关文章: