Cover photo

Spring IOC

IOC发展简介

IOC:控制反转又可以称为“好莱坞原则”。

IOC主要实现策略

依赖查找和依赖注入

  • service locator pattern

  • 依赖注入(构造器注入、参数注入、setter注入、接口注入)

  • 上下文的依赖查询 比如说:java bean的实现

  • 使用模板方法设计模式

  • 使用策略设计模式

IOC容器的职责

IOC设计原则

  • 实现与执行任务之间实现解耦

  • 关注设计上的最终目标,而不是具体的实现

ioc满足好莱坞原则,不要来找我(资源),我回来找你(你的模块)。

依赖处理

  • 依赖查找

  • 依赖注入

生命周期管理

  • 容器

  • 委托的资源(Java Beans或者其他资源)

配置

  • 容器

  • 外部化配置

  • 托管的资源(Java Beans或者其他资源)

IOC容器的实现

Java Beans 作为IOC容器

特性

  • 依赖查找

  • 生命周期管理

  • 配置元信息

  • 事件

  • 自定义

  • 资源管理

  • 持久化

依赖查找

名称、类型、注解来实现查找

依赖注入

依赖注入的来源和依赖查找的来源并不是同一个

ApplicationContext

  • IOC容器角色

  • 面向切面

  • 配置元信息

  • 资源管理

  • 事件

  • 国际化

  • 注解

  • Environment抽象

使用spring ioc容器

  • BeanFactory是spring底层ioc容器

  • ApplicationContext是具备应用特性的BeanFactory超集