Spring5 之 IOC容器

本文介绍IOC容器的概念及其在Spring框架中的应用。控制反转(IOC)是一种设计模式,它将对象的创建和管理权交给了框架。文章详细解释了IOC的目的、底层原理及其实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IOC容器

IOC底层原理

什么是IOC
控制反转

控制反转就是把对象创建和对象之间的调用过程,交给Spring管理。

使用IOC的目的

为了降低耦合度

入门案例就是IOC实现

IOC底层原理

主要用到技术:xml解析、设计模式中的工厂模式、反射

图解
经典工厂模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HjMZEbhm-1624979497270)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520183357357.png)]

IOC过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PMxborCc-1624979497272)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520193633458.png)]

IOC接口(BeanFactory)

IOC思想

基于IOC容器完成,IOC容器底层其实就是对象工厂

Spring提供的方式

Spring提供IOC容器的两种实现方式(其实就是两个接口),两个方式都能实现通过工厂创建对象

实现IOC,指的是加载配置文件创建对象

BeanFactory

IOC容器最基本的实现方式 ,Spring内置接口,一般开发中不会使用

用法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sCcPsEjK-1624979497274)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520194308267.png)]

执行顺序

在加载xml文件的时候,并不会创建里面的对象,而是等到获取(使用)对象时才会创建对象

ApplicationContext
用法

继承自BeanFactory,提供了比BeanFactory更多的功能,一般由开发人员使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8wjnTWWj-1624979497275)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520194236097.png)]

执行顺序

在加载配置文件的时候就会创建被bean标记的对象

ApplicationContext主要实现类

Ctrl+H可以看类或接口等的结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgszpbGg-1624979497276)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520200649769.png)]

ApplicationContext内含两个主要实现类

两个类的主要区别为:

​ FileSystemXmlApplicationContext的参数一般写盘内或其他盘内为路径的配置文件

​ ClassPathXmlApplicationContext的参数主要为项目内(src)的配置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值