Spring -> IoC & DI

1. IoC基本概念

  • IoC(Inversion of Control): 控制反转
    • 将控制权从应用程序转移到框架
  • IoC容器
    • 实现了IoC思想的容器 -> SpringFramework、Guice

2. IoC容器

  • 提供组件运行环境,管理组件生命周期的程序
2.1特点
  • 在容器的功能特点上,还具有依赖装配等特性
  • 无需主动new对象,由容器根据对象创建方式来实例化对象 -> 被动实例化
  • 无需主动装配对象之间的依赖关系,IoC容器帮忙被动接受装配。
  • 主动变被动 -> 好莱坞法则
  • 迪米特法则(最少知识原则):无需依赖具体实现,只关心提供服务的对象。对象之间的了解尽可能的少,达到低耦合。
  • 减少类之间依赖的设计原则

3. 如何理解IoC

  • 容器控制应用程序
  • 反转 -> 控制权发生反转,之前的控制方是应用程序
  • 控制的是应用程序所需要的资源
  • 控制是为了解耦组件之间的关系

4. DI基本概念

  • DI(Dependency Injection): 依赖注入
    • 用单独的对象来装配对象之间的依赖关系
  • DI容器
    • 通过DI容器来维护类之间的关系

5. 如何理解DI

  • 应用程序依赖IoC容器,因为其需要依赖IoC容器装配类之间的关系
  • 依赖的是IoC容器的装配功能
  • IoC容器将一些应用程序所需要的资源(插件等)注入其中

6. DI优点

  • 通过Setter / 构造器清晰认识组件之间的依赖关系
  • 组件的依赖关系,只能在容器运行时决定(动态注入)
  • 依赖注入并不会增添功能,而是提升组件重用的概率。
  • 只需要简单地配置,而无需构造代码,便可完成业务逻辑。
  • 组件和容器没有依赖关系,只能获得配置信息中提供的。

7. SpringIoC的构建方式

  1. XML配置方式(注解配置)
  2. Groovy脚本配置
  3. Java Config配置注解方式
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值