[5-Spring] 02-IOC控制反转

02-IOC控制反转

1. 什么是IOC?

控制反转(Inversion of Control,缩写为IOC),是面向对象编程中的一种设计原则,可以来降低计算机代码之间的耦合。
(1)控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理(原本是编程人员自己new出来一个对象来使用)
(2)使用 IOC 目的:为了耦合度降低(具体原因可在 2. IOC的底层原理中查看)

2. IOC底层原理

(1)xml 解析、工厂模式、反射; 采用这三种技术一步步解耦。
(2)图示理解IOC底层原理
如第一章图原始方式所示,UserService中创建UserDao的对象时,直接采用new对象的方式,这会造成很大的耦合性,耦合性体现在如果UserDao中的内容改变,UserService需要将代码进行相应的更新。
在采用工厂模式中,UserService通过UserDao工厂来获得UserDao对象,有效的降低了UserService与UserDao的耦合性。
在这里插入图片描述
在Spring的IOC中,先定义一个xml配置文件(可看做是IOC的容器),在该配置文件即可创建对象并为对象注入属性,这一操作是通过底层的工厂类及反射技术来完成。 而在使用时,我们只需要对xml进行解析,获得bean对象实体,即可如往常一般来使用。
在这里插入图片描述

3. IOC接口

  1. IOC的思想基于 IOC 容器完成,IOC 容器底层就是对象工厂。
  2. Spring提供IOC 容器实现两种方式:(两个接口)
  • BeanFactory

IOC 容器基本实现,是 Spring 内部的使用接口,不提供开发人员进行使用。
加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象

  • ApplicationContext

BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人
员进行使用。
加载配置文件时候就会把在配置文件对象进行创建。(也就是说在一开始加载配置文件之后就已经创建,在启动服务器后创建,则可以加快后续的服务过程)

在这里插入图片描述

4. IOC通过xml配置文件进行Bean管理

5. IOC通过注解进行Bean管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值