Spring Framework源码
文章平均质量分 94
wb_snail
这个作者很懒,什么都没留下…
展开
-
撸一撸Spring Framework-IOC-实现通用功能的利器(PostProcessor机制)
撸一撸Spring Framework-IoC系列文章目录IoC概述BeanFactoryApplicationContextBeanDefinitionBeanWrapper资源管理利器(Resource与ResourceLoader)配置管理(Environment与PropertySource)不简单的泛型(ResolvableType)考虑下下面这个使用文件服务上传文件的简单程序,要把它正常运行起来,Spring要做哪些事情呢?public class Appli..原创 2022-01-07 22:04:36 · 57859 阅读 · 0 评论 -
撸一撸Spring Framework-IOC-配置管理(Environment与PropertySource)
Environment集成了两个关键特性,配置管理和profiles管理(本质上还是配置相关的东西),profile:用于决定一个类是否会被装载到spring容器中,对应用来说,配置管理无疑是很重要的,包括配置的增、删、改、查,比如通过@PropertySources和@PropertySource引入properties,通过@Value将配置项注入到bean的属性中,通过environment.getPropertySources().replace方法mock系统环境变量,这都属于配置管理的范畴原创 2021-12-06 00:07:01 · 2463 阅读 · 0 评论 -
撸一撸Spring Framework-IoC-资源管理利器(Resource、ResourceLoader、ResourcePatternResolver)
我们经常需要读取外部资源到应用中,比如文本文件、properties文件、图片文件等。这些资源可能位于不同的位置,比如文件系统、classpath下的资源、或者远程服务器上的资源。通常,我们需要通过不同的API分别加载不同类型路径的资源,有诸多不便之处Spring提供了Resource、ResourceLoader、ResourcePatternResolver系列接口解决上述问题,API非常友好、强大原创 2021-12-03 23:26:23 · 21265 阅读 · 0 评论 -
撸一撸Spring Framework-IoC-ApplicationContext
从UML关系上看,ApplicationContext与BeanFactory既有继承关系、又有关联关系。很多ApplicationContext的实现中,都引用了一个DefaultListableBeanFactory对象,并将bean管理操作都委托给它。以下是从GenericApplicationContext及其父类中摘录的一段代码,主要是为了让你感受下它与DefaultListableBeanFactory的关系原创 2021-12-01 21:33:53 · 9688 阅读 · 0 评论 -
撸一撸Spring Framework-IoC-BeanFactory
BeanFactory是Spring IoC中最核心的接口,它承担IoC最基本的职责,即创建并管理各种类的对象。BeanFactory接口只定义了最基础的IOC容器功能,它的扩展接口众多,继承体系设计优雅,堪称经典原创 2021-12-01 21:28:42 · 13900 阅读 · 0 评论 -
撸一撸Spring Framework-IoC-概述
Spring Framework中最核心的模块就是IoC容器(Inversion of Control,控制反转),其他模块如aop、aspectjs、Data Access等都在此基础上展开,我们就从IoC开始旅程IoC也称为依赖注入(DependeccyInjection,DI),注意,这二者是替代关系,并不是网上广泛传播的、极具迷惑性的"思想和实现"的关系原创 2021-11-30 16:57:52 · 67667 阅读 · 0 评论 -
撸一撸Spring Framework-IoC-BeanWrapper
在BeanDefinition一文中我们说过,InstantiationStrategy实例化出的bean只是一个半成品,Spring将半成品的bean交给BeanWrapper,让其负责bean的属性填充工作通过xml定义bean时,不论bean的属性是什么类型,xml中只能使用字符串字面量来对属性赋值,BeanWrapper首先要将字符串字面量转换为bean属性实际对应的类型,然后通过反射的方式给bean赋值。BeanWrapper的继承结构如下:PropertyEditor:Pro.原创 2021-11-29 00:10:59 · 5998 阅读 · 0 评论 -
撸一撸Spring Framework-IoC-BeanDefinition
BeanFactory会从配置元信息中加载beanDefinition,并将其注册到BeanDefinitionRegistry中,之后创建、管理bean的工作,都要依赖于beanDefinition。容器启动过程中加载beanDefinition,注册beanDefinition,从容器获取bean时(getBean),容器如何使用beanDefinition完成bean的创建工作原创 2021-11-26 21:53:58 · 16036 阅读 · 0 评论