![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2.Spring源码
文章平均质量分 95
Java深入-Spring源码
清梦之灵
这个作者很懒,什么都没留下…
展开
-
七、Spring源码-解决循环依赖,为什么使用三级缓存
1.循序渐进,看一看什么是循环依赖?先来回顾一下三级缓存的概念。singletonObjects: 一级缓存,存储单例对象,Bean 已经实例化,初始化完成。earlySingletonObjects: 二级缓存,存储singletonObject,这个 Bean 实例化了,还没有初始化。singletonFactories: 三级缓存,存储singletonFactory。1.1 Bean 的创建过程@Servicepublic class CircularServiceA { pr转载 2022-05-22 22:14:16 · 211 阅读 · 0 评论 -
六、Spring源码-容器启动Bean的创建
容器启动最核心的步骤之一,初始化所有非懒加载的其余BeanAbstractApplicationContext.finishBeanFactoryInitialization(…)protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory) { // Initialize conversion service for this context. // 初始化类型转换器原创 2022-05-22 22:05:13 · 213 阅读 · 0 评论 -
五、Spring源码-容器启动Bean的注册
代码清单5-1 为例介绍其中一种基于注解的容器AnnotationConfigApplicationContext的启动流程/** * @author Rab * @since 2022-04-24 */public class App { public static void main(String[] args) { AnnotationConfigApplicationContext applicationContext = new AnnotationConf..原创 2022-05-22 21:58:28 · 315 阅读 · 0 评论 -
四、Spring源码-IOC容器BeanFactory
4.1 BeanFactory介绍 我们前面说过,Spring的IoC容器是一个IoC Service Provider,但是,这只是它被冠以IoC之名的部分原因,我们不能忽略的是“容器”。Spring的IoC容器是一个提供IoC支持的轻量级容器,除了基本的IoC支持,它作为轻量级容器还提供了IoC之外的支持。如在Spring的IoC容器之上,Spring还提供了相应的AOP框架支持、企业级服务集成等服务。Spring的IoC容器和IoC Service Provider所提供的服务之间存在一定的交集,原创 2022-05-03 15:58:39 · 570 阅读 · 0 评论 -
三、Spring源码-注解说明
1.@Configuration Indicates that a class declares one or more @Bean methods and may be processed by the Spring container to generate bean definitions and service requests for those beans at runtime, for example:@Configurationpublic class AppConfig {原创 2022-05-03 15:52:27 · 1247 阅读 · 0 评论