Spring Boot-14-异常报告器 发表于 2020-03-07 | 分类于 Spring Boot 述本文我们来了解一下 Spring Boot 的异常报告器,它是 Spring Boot 帮我们定位程序错误的一个工具,就是在程序运行错误的时候,在控制台打印出一个错误报告,方便我们排查问题,下面来看一下异常报告器是如何工作的 异常报告器解析首先还是进入启动类的run方法看一下 S ... 阅读全文 »
Spring Boot-13-Spring Profile解析 发表于 2020-03-07 | 分类于 Spring Boot 述在日常开发中,有这样一种情况,就是开发环境,测试环境,生产环境,所需要的配置不同,我们通常会使用不同的配置文件来解决这个问题,比如开发环境我们有一个 application-dev.yml 的配置,然后生产环境有一个 application-prod.yml 的配置, 然后再不同的环境中,我们可以 ... 阅读全文 »
Spring Boot-12-属性加载解析 发表于 2020-03-07 | 分类于 Spring Boot 述上文中了解了如何通过 Spring Aware 来获取属性,最终其实是使用 Environment 对象来获取系统中的属性的,那么 Environment 对象是怎么来的, Spring Boot 是如何将我们的属性配置,转成一个 Environment 对象的, 下面来看一下获取 Environ ... 阅读全文 »
Spring Boot-11-Spring Aware解析 发表于 2020-03-07 | 分类于 Spring Boot 述上文中,介绍了几种 Spring Boot 中的属性配置方式,那么配置完成之后,要在系统里面怎么获取,下面来介绍一种通过 Spring Aware 获取属性的方式 获取属性这里利用之前学过的启动加载器去打印要获取的属性, 这里还是创建一个类 EnvironmentApplicationRun ... 阅读全文 »
Spring Boot-10-属性配置 发表于 2020-03-07 | 分类于 Spring Boot 述在项目开发过程中,有很多工作是针对配置文件的,比如 Spring Boot 提供的一些属性,还有我们自定义的一些配置,下面就来了解一下 Spring Boot 中的属性配置的几种方式 命令行配置方式我们在服务器中手动启动一个jar包的时候,用的命令,比如是 java -jar xxx.jar ... 阅读全文 »
Spring Boot-9-启动加载器 发表于 2020-03-07 | 分类于 Spring Boot 述在我们的日常开发中,可能需要在容器启动之后,立马做一些事情,这时候就可以借助 Spring Boot 的启动加载器去实现. 启动加载器启动加载器有两种方式实现,分别是实现 CommandLineRunner 和 ApplicationRunner ,然后重写里面的 run 方法 实现C ... 阅读全文 »
Spring Boot-8-Banner解析 发表于 2020-03-07 | 分类于 Spring Boot 述上文中,分析了Spring容器的 refresh 流程,还有 Bean 的实例化流程,本文来了解一下 Spring Boot 中的 Banner 的解析,还有他的原理 自定义Banner Spring Boot 默认的 Banner 图如下: 1234567 . ____ ... 阅读全文 »
Spring Boot-7-Bean实例化流程 发表于 2020-03-07 | 分类于 Spring Boot 述上文中大致了解了Spring容器的refresh的过程,其中 finishBeanFactoryInitialization() 方法没有详细说明, 这个方法就是 Spring 容器实例化 Bean 的方法, 下面来详细看一下这个方法 Spring容器Bean实例化流程首先,进入 finis ... 阅读全文 »
Spring Boot-6-refresh方法解析 发表于 2020-03-07 | 分类于 Spring Boot 述前面介绍了一些Spring容器在初始化时的系统初始化器以及监听器的加载等,Spring容器创建之后,会调用它的refresh方法,refresh的时候会做很多事情:比如完成配置类的解析.各种 BeanFactoryPostProcessor 和 BeanPostProcessor 的注册、国际化配 ... 阅读全文 »
Spring Boot-5-自定义监听器 发表于 2020-03-07 | 分类于 Spring Boot 述了解了监听器的工作原理之后,我们来看一下自定义的监听器如何实现 监听器的实现跟之前的系统初始化器的实现基本是一致的 第一种方式创建监听器,实现 ApplicationListener ,泛型是些对应的感兴趣的事件,如下:12345678910@Order(1)@Slf4jpublic ... 阅读全文 »