Spring IOC容器概念及分类

本文深入解析Spring框架的核心——SpringIOC容器,阐述了依赖注入的概念及其在应用程序中的作用,对比了SpringBeanFactory与SpringApplicationContext容器的区别,并提供了两种容器的使用实例。

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

什么是Spirng IOC容器?

spring容器是spring框架的核心,容器创建对象并且把它们连接在一起,并管理它们的生命周期。说白了就是之前的Java应用程序中的对象是程序员new出来的,现在不用我们new了,交给spring容器去管理了。

Spring IOC容器如何管理对象?

使用依赖注入(DI)来管理组成一个应用程序的组件。依赖注入就是控制反转(IOC)的一个具体例子。

【注】这样子去理解IOC/DI的关系:他们是对同一个事情的不同描述。依赖注入是站在应用程序的角度在描述整个过程,而控制反转是从容器的角度在描述。

Spring IOC如何工作?

Spring IoC 容器利用 Java 的 POJO 类和配置元数据来生成完全配置和可执行的系统或应用程序。如下图:

 Spring 框架提供的容器:

1. Spring BeanFactory容器:最简单的容器,给DI提供了基本的支持。移动设备中为了节省有限的资源,会被优先选择,即主要用于轻量级应用。其用org.springframework.beans.factory.BeanFactory接口来定义。其中 org : 表示这是一个开源包,因为apache是一个非盈利组织,所以产品一般以org开头;springframework : spring框架 。

2. Spring ApplicationContext容器:在Spring BeanFactory容器的基础上,添加了更多企业特定的功能,也就是比BeanFactory更加优秀更加牛逼了。其用org.springframework.context.ApplicationContext接口来定义。较BeanFactory而言,可以加载配置文件中定义的bean,将所有bean集中在一起,有请求的时候分配bean。

Spring IOC容器的使用:

1. BeanFactory容器的使用:

public static void main(String[] args){
    //ClassPathResource加载在路径CLASSPATH下可用的xml配置文件
    //XmlBeanFactory负责创建并初始化所有对象即xml文件中的bean
    XmlFactory factory = new XmlBeanFactory(new ClassPathResource("   .xml"));    
    类名 对象名 =(类名)factory.getBean("  ");
}

 2. ApplicationContext 容器的使用:

public static void main(String[] args){
    //ApplicationContext接口的实现类有很多种,这里使用ClassPathXmlApplicationContext
    ApplicationContext app = new ClassPathXmlApplicationContext("  .xml");
    类名 对象名 =(类名)app.getBean(" ");
}

 由以上的代码顺序可知,关于spring容器管理对象的方法和过程我们可以理解成:在加载xml文件的时候,这个类帮我们将xml文件中的<bean>标签进行了解析(其实每一个<bean>标签片面点儿说都对应着一个对象,模板bean除外),这样子spring容器就和我们所说的对象联系了起来,spring容器也是一个类,在Java中很多“高大上”的名字其实都是对应一个类,只不过名字是根据这个类所做的事情或者它在程序中的身份取的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值