IoC
IoC:Inverse of Control 控制反转
DI:Dependency Injection 依赖注入
概念
A依赖于B
使用spring之前
A需要主动获取Bean(通过new或工厂模式等)
使用spring之后,A只需要被动的接受B
从A的角度看,A对B的控制权限改变 ----> Inverse of Control
从B的角度看,spring负责将B注入给A ----> Dependency Injection
- spring核心:以Bean的方式来组织和管理Java应用中的组件,提供配置层次的解耦
- 所有Bean由BeanFactory根据配置文件生成管理
- ApplicationContext是BeanFactory的加强。提供了更多的功能支持,如自动创建、程序国际化
优点
- 与传统开发更接近,依赖关系更直观
- 可以延迟注入的时间,并按需注入,不必要实例化所有的依赖Bean
- 在有些参数可选的时候,设值注入更灵活
网友评论