摘要:
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( 阅读全文
摘要:
mybatis中的土鸡杂鱼 1、mapper接口为什么要和mapper.xml在同一个路径下? 为什么在单独学习使用mybatis的时候,强烈推荐要放在同一个路径下? 首先看下我的配置文件写法如下: <mappers> <package name="com.guang.mybatis.mapper" 阅读全文