spring IOC的原理

(一)概念

  IOC (Inversion of Controller), 即控制反转, 是一种设计思想,在 java 开发中意味着把设计好的对象交给容器控制,而不是在对象内部直接控制(由 Spring IOC容器来管理组件对象的生命周期, 负责组件对象的创建和组件对象之间的依赖关系,这样可以大大降低程序各组件之间的耦合关系,符合软件工程中低耦合高内聚的理念)。

(二)创建对象和管理对象

  初始化Spring中的Bean工厂,Spring中的Bean工厂会基于Bean对象描述,创建Bean的实例,并有选择性的对实例对象进行管理。
  Spring中有两个核心的Map对象,一个用于存储bean的配置信息(xml,注解),一个用于存储bean的实例信息;通过(xml,annotation的方法)描述对象;通过这两个map对象来对bean对象进行管理;通过依赖注入来协同资源。

(三)依赖注入的方式

  主要有三种方式:构造函数注入、setter 方法注入与接口注入。
  构造函数注入:通过类名反射得到构造函数,通过构造函数注入数据,对象构造完成后便进入就绪状态,可以马上使用,但依赖对象较多时参数列表会较长,对相通类型的参数进行处理可能会比较困难。
  setter 方法注入:通过 setter 方法处理多个对象时会比构造函数好,只是不能马上进入就绪状态。
  接口注入:强制注入对象不必要的接口,具有较强的侵入性,性能也不见得比上两种好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值