摘要:
# @Bean方法解析 [TOC] ## 一、bean实例化的三种方式 Spring中的一个Bean,需要实例化得到一个对象,而实例化就需要用到构造方法。 - 构造方法实例化,默认的:让Spring调用bean的构造方法,生成bean实例对象给我们 - 工厂静态方法实例化:让Spring调用一个工厂 阅读全文
摘要:
Spring构造函数 一、分析说明 Spring中的一个Bean,需要实例化得到一个对象,而实例化就需要用到构造方法。那么下面来用各种各样的现象来进行说明: 2.1、一个构造函数 一般情况下,一个类只有一个构造方法: 要么是无参的构造方法 要么是有参的构造方法 如果只有一个构造方法,那么实例化就只能 阅读全文
摘要:
ThreadLocal工作原理 一、官方文档描述 从Java官方文档中的描述:ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。 ThreadLocal实例通常来说都是private stat 阅读全文
摘要:
CGLB动态代理 一、CGLIB实现接口 public interface ProductInterface { void test(); } /** * 用来测试接口 */ private static void testInterface() { Enhancer enhancer = new 阅读全文
摘要:
前面已经说明白了所有的BeanDefinition的扫描过程以及配置类的代理过程之后,下面就给对所有的BeanDefinition进行实例化了。 那么如何来进行实例化阶段的呢 ![](https://img2023.cnblogs.com/blog/1713503/202301/1713503-20 阅读全文
摘要:
# CGLIB对@Configuration注解的处理 在ConfigurationClassPostProcessor完成了对整个上下文中的BeanDefinition扫描完成之后,按照Spring正常的思路来说,下面该根据BeanDefinition进行实例化创建bean了。 但是spring中 阅读全文
摘要:
# 什么是配置类 [TOC] ## 一、将自定义配置类注册到容器中 首先从三行代码开始说起 ```java AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext() 阅读全文
摘要:
# ConfigurationClassPostProcessor如何完成扫描配置类的包 [TOC] ## 0、概念 当前章节只来分析ConfigurationClassPostProcessor中的postProcessBeanDefinitionRegistry中的扫描包阶段,其他的之后再来进行 阅读全文
摘要:
# BeanFactoryPostProcessor的执行流程 [TOC] ## 一、Spring中的BeanDefinition是什么时候开始创建的? 从这个问题开始入手分析BeanFactoryPostProcessor。 由我们前面的分析可以知道,BeanDefinition是ClassPat 阅读全文
摘要:
# Spring的扫描和mybatis扫描 [TOC] ## 一、概述 还是从三行代码出发: ```java AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext( 阅读全文