Spring IOC容器概念及分类

什么是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中很多“高大上”的名字其实都是对应一个类,只不过名字是根据这个类所做的事情或者它在程序中的身份取的。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值