SpringBoot | Spring IoC容器的学习(一)

一、什么是 Spring IoC 容器

IoC (Inversion of Controller,控制反转)是一种概念,一种设计模式

这种设计模式并不是 Spring 或者 Java 独有的。含有 IoC 容器的框架有多种,除了 Spring,还有 Guice, Jboss 等

所谓 控制反转,就是将 对象的控制权 由自己控制 转交于 容器控制。传统是使用  new 关键词来主动创建对象的,而在Spring中,是使用 IoC 容器来创建和管理对象的。我们把对象存储在 IoC 容器中,需要什么对象直接描述给容器,容器会将我们需要的对象创建好直接注入到代码中,而且也会将对象所需的外部资源(例如存在依赖关系的对象、常量数据)也注入到代码中。所以 IoC 模式也可描述为 DI(Dependency Injeciton,依赖注入)

因此,Spring IoC 容器的用途:

1)管理对象,包括 创建对象、发布对象、销毁对象等整个生命周期

2)查询对象的依赖关系,注入依赖对象

二、为什么要用 Spring IoC 容器

对于Java初学者,我们一般会创建多个对象进行相互合作,来实现业务逻辑

例如我们创建一个实现类

无 IoC 容器的调用方式:

B b = new B(new AInterface());  //需要在创建B实例之前生成A实例

b. service();

如果B类中调用不只A类一个,还有其他C、D、E等类,那么在使用B类时,还需要研究其他类的创建。这样就会出现对象之间的多重依赖性关系,使得代码维护起来比较费劲

所以为了减低对象之间的耦合度,因此引入了 IoC 容器。将 A、B、C、D、E等类都放到容器中,如果 B 类需要 A类,IOC容器会主动创建一个对象A 注入到对象 B 需要的地方

三、基于 XML 的 Spring IoC 简单案例

step1:创建好一个 Spring 项目

step2:创建一个User 类,实现一个简单的自我介绍功能

step3:创建 bean.xml,进行 IoC 容器的配置,配置创建的对象

在 resources 目录下右击选择 new -> XML Configuration File ->Spring Config,创建 bean.xml

配置 User 对象


step4:创建测试类 testIoCMain,使用 ApplicationContext 读取 bean.xml,将 User 对象配置到 IoC 容器中, 使用 getBean 方法获取到对应的对象

step5:运行测试类 testIoCMain

运行结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容