spring源码
文章平均质量分 71
Yan-D
这个作者很懒,什么都没留下…
展开
-
Spring 源码分析
版本说明springboot 版本:v2.4.0spring核心代码分析spring核心第1 章:Environmentspring核心第2 章:BeanDefinitionRegistryspring核心第3 章:SingletonBeanRegistryspring核心第4 章:BeanFactoryspring核心第5 章:AutowireCandidateResolverspring核心第6 章:BeanPostProcessorspring核心第6-1 章:Autowire原创 2021-05-30 17:11:33 · 136 阅读 · 0 评论 -
spring核心第7-2 章:PropertyEditorRegistry
作用属性编辑器注册表。保存PropertyEditor,根据需要返回对应的属性编辑器。是TypeConverter的基类。继承关系示例 public static void main(String[] args) { PropertyEditorRegistrySupport propertyEditorRegistrySupport = new PropertyEditorRegistrySupport() { {原创 2021-05-30 17:10:11 · 413 阅读 · 0 评论 -
spring核心第7-1 章:ConversionService
作用提供类型转换服务,可以将A类型数据转换为B类型数据。主要实现与调用主要实现为ApplicationConversionService在启动springboot项目时。通过ApplicationConversionService.getSharedInstance()。向BeanFactory与Environment中设置相关对象,提供类型转换服务。我们具体可以在TypeConverter中看到具体调用过程。继承关系ConversionService类型转换服务接口。定义一下方法:原创 2021-05-30 17:09:35 · 519 阅读 · 0 评论 -
spring核心第7 章:TypeConverter
作用类型转换器,当通过配置文件读取的字符串类型类型需要转换为我们想到的类型时,使用该转换器。主要实现与调用主要的实现有SimpleTypeConverter调用在BeanFactory中我们创建了SimpleTypeConverter,而在其他地方需要使用时,一般都是通过BeanFactory获取。我们可以在doResolveDependency方法中进行了使用,具体见BeanFactory解析继承关系我们看到,其继承子TypeConverter与PropertyEditorRegi原创 2021-05-30 17:08:56 · 719 阅读 · 0 评论 -
spring核心第6-1 章:AutowiredAnnotationBeanPostProcessor
作用bean的后置处理器。解析所有关于@Autowired和@Value的注解内容。继承关系父类为:InstantiationAwareBeanPostProcessorMergedBeanDefinitionPostProcessor在BeanFactory文章我可以看到具体调用地方。所以接下来主要解析关于这两个父接口的实现。初始化 public AutowiredAnnotationBeanPostProcessor() { this.autowiredAnnotationT原创 2021-05-30 17:07:45 · 345 阅读 · 0 评论 -
spring核心第6 章:BeanPostProcessor
作用bean的后置处理器。在bean初始化过程中,在各个阶段允许对bean进行定制计划处理。子接口本文章主要说明BeanPostProcessor几个重要的子接口,以及他们在何时调用,同时简单说明他们他们的作用。BeanPostProcessor顶级接口,在bean完成init前后分别调用其:postProcessBeforeInitialization 和 postProcessAfterInitializationMergedBeanDefinitionPostProcessor当创建的原创 2021-05-30 17:07:12 · 184 阅读 · 0 评论 -
spring核心第5 章:AutowireCandidateResolver
作用自动装配的用于获取候选者与判断符合要求的策略接口。主要功能有:1、使用@Value时获取value值。2、判断当前依赖是否符合@Quelifiers的条件主要实现与调用主要实现为ContextAnnotationAutowireCandidateResolver调用在DefaultListableBeanFactory中有成员变量为AutowireCandidateResolver并且在doResolveDependency方法中调用了getSuggestedValue方法在i原创 2021-05-30 17:06:50 · 688 阅读 · 0 评论 -
spring核心第4 章:BeanFactory
作用提供getBean方法。可以获取所有spring的bean对象。整体实现功能为 通过BeanDefinitionRegistry提供bean定义。并且通过BeanDefinition创建、初始化、解决依赖注入bean对象。将单例对象保存在SingletonBeanRegistry中。主要子类接口的主要实现是DefaultListableBeanFactory继承关系BeanFactory定义了各种getBean 的方法ListableBeanFactory可列举的BeanFactor原创 2021-05-30 17:05:05 · 233 阅读 · 0 评论 -
spring核心第3 章:SingletonBeanRegistry
功能说明用于保存所以已经初始化完成的单例对象。我们使用的所有spring单例bean对象都会保存在此处。主要子类接口的主要实现是DefaultSingletonBeanRegistry继承关系SingletonBeanRegistry单例对象注册表接口定义了获取单例对象,注册单例对象、获取单例对象名称、数量等接口DefaultSingletonBeanRegistry主要方法DefaultSingletonBeanRegistry#registerSingleton(String,原创 2021-05-30 17:02:37 · 467 阅读 · 0 评论 -
spring核心第2 章:BeanDefinitionRegistry
功能说明用于存放BeanDefinition的地方。当beanFactory需要创建bean时,从此registry中获取beanDefinition。主要子类接口的主要实现是DefaultListableBeanFactory继承关系在此处只分析DefaultListableBeanFactory关于BeanDefinitionRegistry的实现与继承关系具体如下:BeanDefinitionRegistry主要定义的接口有:registerBeanDefinition 注册bea原创 2021-05-30 17:01:57 · 571 阅读 · 0 评论 -
spring核心第1 章:environment
environment功能功能说明在environment存储者spring中所有的变量信息,包括系统变量、jvm变量、以及当前程序定义的变量。同时用户可以通过变量名字获取对应的变量值,同时支持:变量值类型转换、变量占位符的解析等功能。使用实例 final ConfigurableApplicationContext run = SpringApplication.run(Main.class, args); //在applicationContex原创 2021-03-23 15:05:13 · 554 阅读 · 0 评论