Spring -- 初识

使用Spring也有很长一段时间了,但还没有深入理解过其设计的思想和实现方式。在此记录学习Spring的一些笔记。

Spring核心主要有三部分: Bean、Context、Core
Bean可以理解为使用特定的箱子包装好的货物,这个货物就是Object对象。Context可以看做装载货物的卡车。那么Core就是搬运货物的工人或工具了,他负责发现、建立和维护Bean之前的关系。

Bean

Bean是Spring操作的对象,可以说是Spring框架中最核心的部分了。可以发现,Spring的整个工作流程,都是对Bean进行一系列的操作。
一个对象要交给Spring进行管理,首先要将其用特定的箱子包装好,转化成相应的Bean,你可以在配置文件中配置Bean,表示我要将这个对象交给Spring容器管理,就像你在寄快递的时候要填一张快递单表示我要把货物交给快递公司帮我运送一样。

Context

总所周知,Spring的两大特性是IOC和AOP,IOC就是控制反转,意思就是你不用亲自去管理对象,而是将对象的操作交给Spring容器来完成。既然如此,Spring就要有容器来容纳和维护这些对象,而Context就是这样的容器,也称为IOC容器。将对象转化为Bean放进IOC容器中,就可以操作这些对象了。就像你把货物包装好装进卡车中,那快递公司就能帮你运货物了。

Core

core封装从不同途径获取资源的方法,然后提供一个统一的接口来加载所有的资源。因为context是容器,它没办法自己去发现对象在哪,所以需要将这个任务交给其他人来做,这个人就是Core,而Core是一个非常聪明的人,他知道对象定义在不同的地方,他不可能亲自去每一个地方来获取这些对象。所以他就发展了很多下线,有的负责从url获取对象,有的负责从类路径,有的从文件去获取等等,最后汇总给一个人ResourceLoader,你只需要实现他,就能从他身上获取这些资源。

接下来会慢慢地熟悉这个Spring框架。本来想bean、context、core分为三个模块分开解析的。但是由于对整个Spring的运行过程不熟悉。所以对每个模块的类完全无法理解。比如BeanFactory、BeanDefinitionReader是干嘛的BeanDefinitionRegister又是干啥的。BeanFactory和ApplicationContext是啥关系。。一脸懵逼。。。所以还是从过程入手,在慢慢切入其中的一个面。暂且把这个过程分为六个部分吧

  • 解析BeanDefinition
  • 注册BeanDefinition
  • 容器初始化
  • 加载bean
  • 实例化bean
  • 资源定位的过程(个人对这部分不是很感兴趣,所以放在最后)

当然为了熟悉这个过程,目前只着重于使用GenericApplicationContext以及XmlBeanDefinitionReader来解析,了解整个过程后,再对每个组件详细讲解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 12,453评论 6 86
  • 一、Spring基础 核心容器:Spring Core 应用上下文:Spring Context AOP模块:Sp...
    慕凌峰阅读 648评论 1 9
  • 本来是准备看一看Spring源码的。然后在知乎上看到来一个帖子,说有一群**自己连Spring官方文档都没有完全读...
    此鱼不得水阅读 7,046评论 4 21
  • 2.1 我们的理念是:让别人为你服务 IoC是随着近年来轻量级容器(Lightweight Container)的...
    好好学习Sun阅读 2,877评论 0 11
  • 什么是Spring Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Jav...
    jemmm阅读 16,779评论 1 133

友情链接更多精彩内容