Spring之IOC容器篇
IOC:Inversion of control(控制反转的英文缩写),依赖对象的获得被反转了,一般是通过DI(dependency injection 依赖注入)来实现的,可以大大降低类之间的耦合度。
IOC&DI是Spring等框架的核心,或者说是基石,如果没有IOC容器&DI就没有Spring等框架。
BeanFactory和FactoryBean
beanFactory:The root interface for accessing a Spring bean container.
作为进入Spring的Bean容器的根接口,定义了Bean容器的基本功能,函数如图
其中&符号是用来取Factory的,如果对Factory产生的bean取&,则会返回产生这个bean的工厂bean。
注意区分FactoryBean和BeanFactory:
FactoryBean是生产者,生产bean
BeanFactory是一个工厂,负责bean信息的获取和管理,FactoryBean也是bean,所以也是BeanFactory管。
二者关系就像工人和工厂的关系,前者作为工人生产产品,本身也属于工厂管,而产品要出厂不是生产出来就行,还要贴标,出厂等操作,这些就是后者的工作。前面所说的&符号取的就是生产工人BeanFactory
IOC容器:通常的IOC容器由3部分组成:
Resource资源,用来获取Bean的配置信息
BeanFactory工厂,用来管理Bean的生产和配置
BeanDefinitionReader阅读器,用来阅读Bean的配置信息和绑定BeanFactory工厂
Spring之IOC容器篇相关推荐
- [Spring 深度解析]第6章 Spring的IoC容器系列
6. Spring的IoC容器系列 IoC容器为开发者管理对象之间的依赖关系提供了很多便利和基础服务.有许多IoC容器供开发者选择,SpringFramework的IoC核心就是其中一个,它是开源 ...
- 框架:简单实现Spring的IOC容器
学习过Spring的同学都知道,Spring框架的核心就是IoC和AOP.Spring可以理解为一个工厂,负责对象的创建和对象间关系的维护.IoC即控制反转,简单点说就是原来的对象是在要使用之前通过在 ...
- 【Spring】IoC容器系列的设计与实现:BeanFactory和ApplicationContext
在Spring IoC容器的设计中,我们可以看到两个主要的容器系列,一个是实现BeanFactory接口的简单容器系列,这系列容器只实现了容器的最基本功能,另一个是ApplicationContext ...
- spring的IOC容器
文章目录 1. IOC.IOC容器.Bean.DI 2. 核心概念小结 3,入门案例 3.1 IOC入门案例 3.1.1 入门案例思路分析 3.1.2 入门案例代码实现 步骤1:创建Maven项目 步 ...
- 在servlet(或者filter或者listener)中使用spring的IOC容器
web.xml中的加载顺序为:listener >> filter >> servlet >> spring.其中filter的执行顺序是filter- mappi ...
- Spring中IOC容器
IOC入门案例思路分析 1.管理什么(Service和Dao) 2.如何将管理的对象存放到IOC容器(配置applicationContext.xml)第二步 3.将管理的对象存放到IOC容器,如何获 ...
- Spring学习----IoC容器创建对象
SpringIOC容器,是spring核心内容.功能:创建对象,处理对象的依赖关系 IOC容器创建对象: 创建对象, 有几种方式: 1) 调用无参数构造器 2) 带参数构造器 3) 工厂创建对象 ...
- Spring 的IOC容器系列的设计与实现:BeanFactory 和 ApplicationContext
在Spring IOC容器的设计中,我们可以看到两个主要的容器系列,一个是实现BeanFactory接口的简单容器系列,这系列容器只实现了容器的最基本的功能,另一个是ApplicationContex ...
- Spring框架—IoC容器
首先我们需要了解一下是什么是IoC.IoC是Spring的核心技术之一,全称是Inversion of Control(控制反转).最原始的创建对象的方法就是通过new来实现(手动的编写代码实现),而 ...
最新文章
- 深度学习在计算机视觉领域(包括图像,视频,3-D点云,深度图)的应用一览
- java不同项目加token访问_实战:你用SpringBoot集成JWT来实现一下token验证,可否?...
- 【图像分类】如何使用 mmclassification 训练自己的分类模型
- 服务器2003 系统修复,第十一篇 Windows Server 2003系统修复.pdf
- C# CKEditor、CKFinder集成使用
- Haybale Guessing (POJ-3657)
- c++ error函数_回调函数地狱
- 清华计算机科学与技术专业收分,2016年清华大学计算机科学与技术专业最低分是多少?...
- 利用AsyncHttpClient实现图片的上传与下载
- react轮播图插件_React 基础面试题 - 和你随便聊聊 React
- Linux分区类型EXT2、EXT3、EXT4详解
- Linux-firewalld-squid正向代理
- PowerDesign使用
- 【程序员金典】字符串互异
- 【理解】运用数据透视表制作三栏账
- Nginx动静分离经典配置
- 初生牛犊不怕虎,管他呢! 干就是了。
- oliver什么意思java_英语名字“oliver”是什么意思?
- 解读,投资的天使轮,A轮,B轮,C轮是啥意思
- 2的10次方-1的python表达式_第二章PythonⅠ的基本语法,python,I