摘要:Spring 注解原理(二)AutowiredAnnotationBeanPostProcessor:@Autowired @Value @Inject @Lookup [toc] __Spring 系列目录()__ AutowiredAnnotationBeanPostProcessor 是 Sp
阅读全文
摘要:Spring 循环引用(三)AbstractFactoryBean 如何解决循环依赖 [toc] Spring 系列目录: 本章讨论的范围:AbstractFactoryBean 创建单例 Bean 过程中出现的循环依赖问题,多例 Bean 的创建根本不会出现循环依赖,因为会直接抛异常。 1. 循环
阅读全文
摘要:Spring IOC 前世今生之 JDNI [toc] 提起 Spring,我们就想起 IOC(控制反转),实现 IOC 有两种技术:一是 DL(依赖查找 depency lookup),二是 DI(依赖注入 depency inject)。其实 Java 很早就有 DL 技术,本章让我们走近 DL
阅读全文
摘要:任务调度(02)Spring Schedule [toc] Spring 3.0 提供两种任务调度方式:一是定时任务调度;二是异步任务调度。这两种任务调度方式都是基于 JUC 实现的,是一种非常轻量级的任务调度方式。同时在 spring context support 中也整合了 Quartz,文本
阅读全文
摘要:Spring Boot 异常处理 本节介绍一下 Spring Boot 启动时是如何处理异常的?核心类是 SpringBootExceptionReporter 和 SpringBootExceptionHandler。 一、Spring Boot 异常处理流程 run 方法中的异常处理都交给 ha
阅读全文
摘要:Spring Boot 启动(四) EnvironmentPostProcessor __Spring 系列目录()__ 1. "Spring Boot 配置使用" 2. "Spring Boot 配置文件加载流程分析 ConfigFileApplicationListener" 3. "Sprin
阅读全文
摘要:Spring Boot 启动(二) 配置详解 __Spring 系列目录()__ 1. "Spring Boot 配置使用" 2. "Spring Boot 配置文件加载流程分析 ConfigFileApplicationListener" 一、Spring Framework 配置 略... 二、
阅读全文
摘要:Spring Boot 启动(二) Environment 加载 __Spring 系列目录()__ 上一节中讲解了 SpringApplication 启动的整个流程,本节关注第二步 prepareEnvironment,尤其是配置文件的加载。 1. "Spring Boot 配置使用" 2. "
阅读全文
摘要:Spring Boot 启动(一) SpringApplication 分析 __Spring 系列目录()__ 本节重点分析 Spring Boot(2.1.3) 的 SpringApplication run 方法是如何启动 Spring 容器。run 方法最终调用 。 一、SpringAppl
阅读全文
摘要:Spring 注解原理(三)AutowireCandidateResolver:@Qualifier @Value @Autowire @Lazy [toc] __Spring 系列目录()__ 1. AutowireCandidateResolver 接口 AutowireCandidateRes
阅读全文
摘要:Spring 注解原理(一)组件注册 __Spring 系列目录()__ 当我们需要使用 Spring 提供的注解开发时,必须在 Spring 容器中声明相关的组件。如 @Autowired 必须注册 AutowiredAnnotationBeanPostProcessor 组件,如果每个组件都需要
阅读全文
摘要:Spring 如何保证后置处理器的执行顺序 OrderComparator __Spring 系列目录()__ 一、JDK 自带的比较器 Comparator 1.1 Comparable Integer 内部实现了 Comparable 接口 1.2 Comparator 还在另外一种情况,需要排
阅读全文
摘要:ApplicationContext(十)finishRefresh __Spring 系列目录()__ 经过以上 11 步,ApplicationContext 的刷新工作基本完成,就剩下最后一点收尾的工作。 在 Spring 中还提供了 Lifecycle 接口, Lifecycle 中包含 s
阅读全文
摘要:ApplicationContext(九)初始化非延迟的 bean 此至,ApplicationContext 已经完成了全部的准备工作,开始初始化剩余的 bean 了(第 11 步)。 finishBeanFactoryInitialization 主要是实例化非懒加载的 bean。 一、注册 C
阅读全文
摘要:Spring ApplicationContext(八)事件监听机制 本节则重点关注的是 Spring 的事件监听机制,主要是第 8 步:多播器注册;第 10 步:事件注册。 事件定义如下,实现了 JDK 的规范 EventListener 一、ApplicationListener 实战 运行后结
阅读全文
摘要:ApplicationContext(七)Message 源 本节则是初始化消息资源池,对国际化的支持。暂时先略过。 每天用心记录一点点。内容也许不重要,但习惯很重要!
阅读全文
摘要:Spring ApplicationContext(六)BeanPostProcessor 产生回顾一下 ApplicationContext 初始化的几个步骤:第一步是刷新环境变量;第二步是刷新 beanFactory 并加载 BeanDefinition;第三步是对 beanFactory 进行
阅读全文
摘要:Spring ApplicationContext(六)BeanPostProcessor 产生回顾一下 ApplicationContext 初始化的几个步骤:第一步是刷新环境变量;第二步是刷新 beanFactory 并加载 BeanDefinition;第三步是对 beanFactory 进行
阅读全文
摘要:ApplicationContext(四)BeanFactory 功能扩展 上节我们提到容器刷新的第二步初始化 BeanFactory 工厂并解析配制文件,但此时 BeanFactory 的功能还很简单,需要对其进行扩展。这就涉及到下面第三步:BeanFactory 功能扩展。 那 Spring 究
阅读全文
摘要:ApplicationContext(三)BeanFactory 初始化 上节我们提到容器初始化的第一步首先进行了属性的检验,下面就要开始第二步:进行 beanFactory 的初始化工作了。 ApplicationContext 是对 BeanFactory 的功能上的扩展,不但包含了 BeanF
阅读全文