1.@Import(AutoConfigurationPackages.Registrar.class) 初始SpringBoot 我们知道在SpringBoot 启动类上有一个@SpringBootApplication注解,配置类的加载就是从这里开始(源头),一起走起. @SpringBootApplication是一个复合注解,其中包括Java元注解(@Target,@Retention,@Documented,@Inherited),不清楚注解的小伙伴可以参考Java注解,其实就这么简单…
本文从SpringBoot源码分析 配置文件的加载原理和配置文件的优先级     跟入源码之前,先提一个问题:   SpringBoot 既可以加载指定目录下的配置文件获取配置项,也可以通过启动参数(VM Options)传入配置项,为什么通过启动参数传入的配置项会“顶掉”配置文件中的配置?   示例:   application.yml  server.port: 8888 spring.profiles.active: dev   application-dev.yml  spring.th…
SpringBoot源码分析之SpringBoot的启动过程 发表于 2017-04-30   |   分类于 springboot  |   0 Comments  |   阅读次数 SpringBoot的启动很简单,代码如下: 1 2 3 4 5 6 @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyAppli…
Springboot源码分析之项目结构 摘要: 无论是从IDEA还是其他的SDS开发工具亦或是https://start.spring.io/ 进行解压,我们都会得到同样的一个pom.xml文件 4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.6.RELEASE <groupId>com.github.dqqzj</groupId> <artifactId>springboot</arti…
Spring Ioc源码分析系列--Bean实例化过程(二) 前言 上篇文章Spring Ioc源码分析系列--Bean实例化过程(一)简单分析了getBean()方法,还记得分析了什么吗?不记得了才是正常的,记住了才是怪人,忘记了可以回去翻翻,翻不翻都没事, 反正最后都会忘了. 这篇文章是给上篇填坑的,上篇分析到真正创建Bean的createBean(beanName, mbd, args)就没有继续深入去分析了,绕得太深,说不清楚.那么这一篇,就续上这个口子,去分析createBean(be…
1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来,独立成文,于是就有了本篇文章.在本篇文章中,我将分析映射文件中出现的一些及节点,比如 <cache>,<cache-ref>,<resultMap>, <select | insert | update | delete> 等.除了分析常规的 XML 解析过程外…
前文传送门: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 本文内容: AbstractApplicationContext#refresh前部分的一点小内容 BeanFactoryPostProcessor调用过程详解 mybatis是如何使用本节知识整合spring的? 正文: 在Spring中,一共分为BeanFactoryPostProcessor和BeanPostProcessor两类后置处理器,他们主要的职责如下: BeanFactoryPo…
Spring Ioc源码分析系列--Bean实例化过程(一) 前言 上一篇文章Spring Ioc源码分析系列--Ioc容器注册BeanPostProcessor后置处理器以及事件消息处理已经完成了对IoC容器启动方法也就是refresh()方法的简单分析.但是之前的分析在对容器实例化Bean的过程的略过了,留到了这后续的文章分析,所以这篇文章会对Bean的实例化过程做一个介绍. 首先来理一下本文的思路:关键词是实例化.由于Spring是利用反射实现的实例化,脑子里先简单想一下Java里利用发射…
摘要: 利用IDEA等工具打包会出现springboot-0.0.1-SNAPSHOT.jar,springboot-0.0.1-SNAPSHOT.jar.original,前面说过它们之间的关系了,接下来我们就一探究竟,它们之间到底有什么联系. 文件对比: 进入target目录,unzip springboot-0.0.1-SNAPSHOT.jar -d jar命令将springboot-0.0.1-SNAPSHOT.jar解压到jar目录 进入target目录,unzip springboo…
--------------------------------------------------------<概览> tor 的源码包可以从官网下载,可能需要预先利用其它FQ软件才能访问该站点.分析 tor 源码有助于我们理解当代最强大之一的 互联网匿名.隐身.审查规避软件的运作原理. 为了从整体上把握住程序的逻辑与功能,本系列会将源码重要部分通过函数调用流程图总结,以便站在设计思想的高度来考察 tor. <约定> 当引用函数/结构体/宏/定义/声明时,我会在圆括号内给出它所在…