Spring IoC 容器
转载自 Spring IoC 容器
IoC 容器
Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象被称为 Spring Beans,我们将在下一章中进行讨论。
通过阅读配置元数据提供的指令,容器知道对哪些对象进行实例化,配置和组装。配置元数据可以通过 XML,Java 注释或 Java 代码来表示。下图是 Spring 如何工作的高级视图。 Spring IoC 容器利用 Java 的 POJO 类和配置元数据来生成完全配置和可执行的系统或应用程序。
Spring 提供了以下两种不同类型的容器。
序号 | 容器 & 描述 |
---|---|
1 |
Spring BeanFactory 容器
它是最简单的容器,给 DI 提供了基本的支持,它用 org.springframework.beans.factory.BeanFactory 接口来定义。BeanFactory 或者相关的接口,如 BeanFactoryAware,InitializingBean,DisposableBean,在 Spring 中仍然存在具有大量的与 Spring 整合的第三方框架的反向兼容性的目的。 |
2 |
Spring ApplicationContext 容器
该容器添加了更多的企业特定的功能,例如从一个属性文件中解析文本信息的能力,发布应用程序事件给感兴趣的事件监听器的能力。该容器是由 org.springframework.context.ApplicationContext 接口定义。 |
ApplicationContext 容器包括 BeanFactory 容器的所有功能,所以通常建议超过 BeanFactory。BeanFactory 仍然可以用于轻量级的应用程序,如移动设备或基于 applet 的应用程序,其中它的数据量和速度是显著。
Spring IoC 容器相关推荐
- 头条一面:Spring IOC容器中只存放单例Bean吗?
最近,很多小伙伴出去面试,感觉自己面的不是很理想,回来后,不少小伙伴把面试题做了记录发给我,让我给大家解析下,然后发出来.当我看到这些面试题时,快速在脑海中构建起了整个知识体系,从基础到框架.从分布式 ...
- Spring点滴一:Spring Ioc 容器
Spring 容器: Spring 容器是Spring框架的核心.Spring容器将创建Bean对象实例,把它们联系在一起,配置它们,并管理它们整个生命周期从创建到销毁.Spring 容器通过依赖注入 ...
- MyEclipse Spring 学习总结一 Spring IOC容器
一.Spring IOC容器---- Spring AllicationContext容器 程序的结构如下: 1.首先在MyEclipse 创建创建Java Project 2.创建好后,添加spin ...
- Spring IOC 容器源码分析系列文章导读
1. 简介 前一段时间,我学习了 Spring IOC 容器方面的源码,并写了数篇文章对此进行讲解.在写完 Spring IOC 容器源码分析系列文章中的最后一篇后,没敢懈怠,趁热打铁,花了3天时间阅 ...
- Spring IOC 容器源码分析 - 余下的初始化工作
1. 简介 本篇文章是"Spring IOC 容器源码分析"系列文章的最后一篇文章,本篇文章所分析的对象是 initializeBean 方法,该方法用于对已完成属性填充的 bea ...
- Spring IOC 容器源码分析 - 填充属性到 bean 原始对象
1. 简介 本篇文章,我们来一起了解一下 Spring 是如何将配置文件中的属性值填充到 bean 对象中的.我在前面几篇文章中介绍过 Spring 创建 bean 的流程,即 Spring 先通过反 ...
- Spring IOC 容器源码分析 - 循环依赖的解决办法
1. 简介 本文,我们来看一下 Spring 是如何解决循环依赖问题的.在本篇文章中,我会首先向大家介绍一下什么是循环依赖.然后,进入源码分析阶段.为了更好的说明 Spring 解决循环依赖的办法,我 ...
- Spring IOC 容器源码分析 - 创建原始 bean 对象
1. 简介 本篇文章是上一篇文章(创建单例 bean 的过程)的延续.在上一篇文章中,我们从战略层面上领略了doCreateBean方法的全过程.本篇文章,我们就从战术的层面上,详细分析doCreat ...
- Spring IOC 容器源码分析 - 创建单例 bean 的过程
1. 简介 在上一篇文章中,我比较详细的分析了获取 bean 的方法,也就是getBean(String)的实现逻辑.对于已实例化好的单例 bean,getBean(String) 方法并不会再一次去 ...
- Spring IOC 容器源码分析 - 获取单例 bean
1. 简介 为了写 Spring IOC 容器源码分析系列的文章,我特地写了一篇 Spring IOC 容器的导读文章.在导读一文中,我介绍了 Spring 的一些特性以及阅读 Spring 源码的一 ...
最新文章
- 改进,从一个数组中找出 N 个数,其和为 M 的所有可能
- 进程管理supervisor的简单说明
- 织梦DedeCMS播放本地视频文件插件
- 海量信息存储基地落户滨海高新区
- P3343-[ZJOI2015]地震后的幻想乡【dp,数学期望】
- mysql入门到跑路_Mysql入门二十小题(DBA老司机带你删库到跑路)2018.11.26
- java futuretask 状态_6.3 FutureTask基本操作总结 - JAVA 并发知识点总结
- pspice学习杂记
- JAVA之JDBC数据库连接池(超详细介绍)
- 60.(leaflet篇)leaflet虚线
- windows php进程数,win10的进程数应该多少?
- PCB六层板如何分层最好?
- PyTorch 公开发布五周年;NGINX 之父 Igor Sysoev 从 F5 离职;Openfire 4.7.0 发布 | 开源日报
- ​PDF如何转换成Word文档?分享两种好用的转换方法
- js中的隐式类型转换有哪些
- centos7最小安装时输入命令ifconfig提示bash:ifconfig:未找到命令的错误
- TCP网络编程之chat聊天室
- 安装使用docker harbor作为私有docker服务器的操作步骤及遇到的问题
- 公司债个人投资者认购门槛或为1000元
- SQLserver主从同步报错:Message: 无法创建 AppDomain “mssqlsystemresource.dbo[runtime].
热门文章
- 软件构造学习笔记-第十四周、十五周
- 367. 有效的完全平方数(二分法)
- java servlet jsp javabean关系图_Servlet+JSP+JavaBean开发模式(MVC)介绍
- [JavaWeb-HTML]HTML标签_表单标签
- [Java基础]字符流中的编码解码问题
- 2018年蓝桥杯B组题E题+快排
- 机器学习理论引导 电子版_机器学习理论篇1:机器学习的数学基础(2)
- c++ 位运算_C语言之运算符
- LeetCode贪心 最长回文串
- ImportError: libicui18n.so.56 and/or libicui18n.so.58 when importing cv2