Spring IOC 源码解析(一) 概述篇

一. IOC是什么:

IOC —Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在 Java 开发中,Ioc 意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好 Ioc 呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”

●谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。

●为何是反转,哪些方面反转了:有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。(引用地址)

二. spring 框架(粗化)

当然,本文并不是像其他文章一样深入介绍 Spring IOC 是什么.直接进入主题.我们从源码角度来看看 spring ioc 的实现和启动过程.
小二,上图
在这里插入图片描述

spring 容器的大体框架就在上面,所有都是围绕着 BeanFactory 接口来扩展的.

spring ioc 的实现,主要的有两条实现分支:
一: BeanFactory -> HierarchicalBeanFactory -> ConfigurableBeanFactory -> ConfigurableListableBeanFactory -> DefaultListableBeanFactory
二:BeanFactory -> HierarchicalBeanFactory -> ApplicationContext

每个接口的主要功能也都在图中描述了.后面会详细的讲一下里面的主要接口和实现.当然还有其他主要的 bean 我们也会在后续中涉及.

三.spring IOC 的初始化

要使用 spring ioc 容器之前,需要做一些准备工作.准备工作主要分为以下是哪个部分:

  1. 资源定位
  2. 资源载入
  3. 资源注册

当资源注册完毕,就开始一系列的 bean 生成,注册,依赖注入,然后就可以使用啦.后期我们会一步一步的讲解.

四.专栏流程

首先会把 Spring 中的重要的的类讲述一下,方便我们在了解源码的时候,知道某些类是干什么的,在干什么,能干什么.

Spring IOC 源码解析(二) BeanFactory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值