Laboratory Of Guiling

Boilerplate of Gui Ling

正面硬刚SpringBoot源码之第一行代码

第一行代码

SpringBootApplication 使用 @SpringBootApplication 注解,标明是 Spring Boot 应用。通过它,可以开启自动配置的功能。 2.调用 SpringApplication#run(Class... primarySources) 方法,启动 Spring Boot 应用。 接下来看SpringBoot的...

一个程序员的江湖

新手村只Redis

初出茅庐 Redis常用数据结构 String 最基本的数据类型 List 列表按照String插入的顺序排序 Hash String元素组成的字典适合存储对象 Set String 元素组成的无序集合通过Hash表实现 Sorted Set 通过分数为集合中的元素从小到大排序 不常用的计数HyperLogLog 用于存储地理位置的GEO ...

一个程序员的江湖

新手村

初出茅庐 常用的Linux命令 查找特定文件 find find -name 'target.java' 若不指定路径则默认再当前用户的home目录 find / -name 'target.java' 再全局搜索 find / -iname 'target.java' 忽略大小写 检索文件...

Spring源码学习(十)

Spring源码学习之今天下雨

Spring源码解析(十) 这里使用工厂方法创建bean实例 然后从bean工厂中把FactoryBean(工厂Bean)拿出来(我擦!这里有点儿绕口) 下面在工厂Bean中找出所有的构造方法,添加到候选方法中等待被调用 然后逐个调用创建Bean的实例,在实例创建完成之后要去执行applyMergedBeanDefinitionPostProcessors(mbd, be...

Spring源码学习(九)

Spring源码学习之今天下雨

Spring源码解析(九) 接着上次的说: 上次说到,当bean是单例的时候回去创建Bean进入到createBean中有了以前的经验我们可以知道,createBean这个方法应该没有真正创建Bean,进去看一下: 在这个方法里可以知道首先解析了这个Bean的定义信息这个解析的过程这里我们先略过Class<?> resolvedClass = resolveBean...

Spring源码学习(八)

Spring源码学习之真正的技术

Spring源码解析(八) ​ 上一篇说到了CreateBean创建Bean实例 ​ 由以前的经验我们可以知道这个方法里其实并没有进行实际的Bean创建,而是进行一系列的准备和验证工作 在注释中可以了解到该方法的一些作用:创建一个Bean的实例,给Bean设置属性,应用PostProcessor等。 首先从BeanDefintion中解析出Bean的Class信息,让后创...

Spring源码学习(七)

Spring源码学习之心情不太好

Spring源码解析(七) 上一篇文章说到了Bean创建过程中的**getSingleton(beanName)**方法,接着上次的说。 调用完**getSingleton(beanName)** 方法后如果放回为不空,也就是说当前Bean已经被创建过,然后会对返回的Bean进行检查。 在getObjectForBeanInstance(sharedInstance,name,b...

Spring源码学习(六)

Spring源码学习之贼啦啦滴溜

Spring源码解析(六) - 上一篇已经进行了BeanPostProcessor的注册,接下来先跳过中间几个不太重要的步骤,直接来到Bean的创建过程。 进入初始化Bean的方法中首先给BeanFactory设置了一系列的服务组件,主要的方法其实是最后一个调用 从方法名可以大致看出是预实例化单实例Bean 首先通过BeanName获取到Bean的定义信息,如果有父类,则会将...

Spring源码学习(五)

Spring源码学习之开篇一张图内容全靠编

Spring源码解析(五) ​ 在上一篇中已经完成了BeanFactoryPostProcessors的激活和执行,在本篇将会开始注册和BeanPostProcessors. ​ BeanPostProcessor是BeanFactory中的一个属性,是一个List集合,BeanPostProcessor的作用是在所有Bean调用初始化方法的前后执行一些操作。 在注册B...

Spring源码学习(四)

Spring源码学习之开篇一张图内容全靠编

Sring源码解析(四) 在上篇中已经完成了BeanFactory的准备工作,给BeanFactory添加了gezhog各种属性和上下文。 下面要开始执行BeanFactory的后置处理器了,在准备完成后Spring给我们提供了一个添加后置处理逻辑的方postProcessBeanFactory(beanFactory)这个方法是提供给子类去实现的,目的是在BeanFactory准备工作完...