IOC容器
IOC底层原理
什么是IOC
控制反转
控制反转就是把对象创建和对象之间的调用过程,交给Spring管理。
使用IOC的目的
为了降低耦合度
入门案例就是IOC实现
IOC底层原理
主要用到技术:xml解析、设计模式中的工厂模式、反射
图解
经典工厂模式
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HjMZEbhm-1624979497270)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520183357357.png)]](https://i-blog.csdnimg.cn/blog_migrate/0bac673273898e5fe6e9fc206e8874af.png)
IOC过程
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PMxborCc-1624979497272)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520193633458.png)]](https://i-blog.csdnimg.cn/blog_migrate/75bd4e1d196657578ff3f13eab656329.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)]](https://i-blog.csdnimg.cn/blog_migrate/d4921e2aeabf34f518e2479d7a2aab83.png)
执行顺序
在加载xml文件的时候,并不会创建里面的对象,而是等到获取(使用)对象时才会创建对象
ApplicationContext
用法
继承自BeanFactory,提供了比BeanFactory更多的功能,一般由开发人员使用
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8wjnTWWj-1624979497275)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520194236097.png)]](https://i-blog.csdnimg.cn/blog_migrate/76299be6559aa89384b088418cf4d76d.png)
执行顺序
在加载配置文件的时候就会创建被bean标记的对象
ApplicationContext主要实现类
Ctrl+H可以看类或接口等的结构
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgszpbGg-1624979497276)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210520200649769.png)]](https://i-blog.csdnimg.cn/blog_migrate/c6baa3198819b91c2f7e1858e10ca021.png)
ApplicationContext内含两个主要实现类
两个类的主要区别为:
FileSystemXmlApplicationContext的参数一般写盘内或其他盘内为路径的配置文件
ClassPathXmlApplicationContext的参数主要为项目内(src)的配置文件
本文介绍IOC容器的概念及其在Spring框架中的应用。控制反转(IOC)是一种设计模式,它将对象的创建和管理权交给了框架。文章详细解释了IOC的目的、底层原理及其实现方式。
1596

被折叠的 条评论
为什么被折叠?



