Spring的IOC容器

IOC容器,如Spring,通过工厂模式、反射和XML解析实现控制反转,降低模块间的耦合度。BeanFactory是基本实现,而ApplicationContext提供更强大功能且更节约资源。解耦主要通过XML配置或注解来管理Bean。
摘要由CSDN通过智能技术生成

(1)IOC容器的底层原理:工厂模式+反射+XML解析

(2)IOC接口:BeanFactory

(3)IOC操作Bean管理的方式1:基于XML配置文件

(4)IOC操作Bean管理的方式2:基于注解

什么是IOC容器?

IOC即为控制反转,那什么是控制反转?控制反转就是把对象创建和对象之间的调用过程,交给Spring进行管理.
Spring IOC容器的作用:降低耦合度

 图解IOC原理:

原始的方式实现对象的创建:

 上面这种编程方式耦合性太高,不利于后期的维护

 耦合性:(英语:Coupling,dependency,或称耦合力或耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。

 耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合

使用工厂模式降低程序之间的耦合性:

 虽然实现了部分的解耦合,但是工厂模式还有很大的解耦空间(程序间无法完全实现解耦合,只能降低耦合)

为了实现更好的解耦,使用IOC控制反转(结合XML解析,工厂模式,反射)来进行解耦

 

 IOC接口:

 BeanFactory接口是Spring中内置的实现方式,IOC容器的基本实现方式,不建议开发人员使用

ApplicationContext接口是BeanFactory接口的子接口,提供了更多强大的功能,建议开发人员使用

 一般我们更多会使用第二种方式,第二种方式ApplicationContext更加节约资源,在服务器加载时就完成配置文件中所有对象的创建,将这个耗时的过程在服务器启动时完成,而不是运行时

 BeanFactory接口的子父接口以及类:

 ApplicationContext接口的子父接口以及类:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值