spring
spring学习笔记
子墨墨
这个作者很懒,什么都没留下…
展开
-
spring源码学习
1.BeanDefinitionRegistry是保存bean定义信息的接口 2.实例化BeanFactoryPostProcessor, 3.初始化工厂 4.循环调用BeanFactoryPostProcessor.postProcessBeanFactory 5.实例化BeanPostProcessor 6.实例化单例bean原创 2020-06-14 12:42:20 · 100 阅读 · 0 评论 -
spring核心接口ApplicationContext以及核心方法
1.核心方法 org.springframework.context.support.AbstractApplicationContext#refresh 2.具体: org.springframework.context.support.AbstractApplicationContext#prepareRefresh getEnvironment().validateRequiredProperties(); getEnvironment()最终创建一个StandardEnvironmen.原创 2020-06-06 23:56:43 · 173 阅读 · 0 评论 -
spring源码之feingclient示例
1.先用扫描工具扫描配置的包路径,获取到@FeignClient的类 2.反射获取地址,路径,参数信息, 3.通过FactoryBean提供实例化对象 4.源码实现: class FeignClientsRegistrar public void registerFeignClients(AnnotationMetadata metadata, BeanDefinitionRegistry registry) { ClassPathScanningCandidateComponen原创 2020-05-30 18:39:27 · 178 阅读 · 0 评论 -
spring源码框架
1.bean定义来源:从xml读取,从注解读取,抽象出接口:BeanDefinationReader 2.bean容器:读取到bean的定义后,实例化bean,把bean信息存放到容器 通过如下代码进行实例化 Class<?> type = field.getType(); Object o = type.getConstructor().newInstance(); 3.实例化以后不会直接放进容器,可以对实例化的bean进行增强 接口:BeanPostProccessor 4..原创 2020-05-29 23:23:45 · 194 阅读 · 0 评论 -
spring源码概览
1.反射:动态拿到类的元数据 2.核心源码原理: package com.example.demo1.spring; import org.springframework.beans.factory.annotation.Autowired; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.原创 2020-05-24 23:27:35 · 164 阅读 · 1 评论