本文则将重点阐述context板块的自动配置类,观察其相关的特性并作相应的总结 自动配置类 直接查看cloudcontext板块下的spring.factories对应的EnableAutoConfiguration键值对 # AutoConfiguration org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.cloud.autoconfigure.Configuration…
承接前文监听器对bootstrapContext创建的引导,笔者了解到其主要入口类为BootstrapImportSelectorConfiguration.本文将基于此类进行简单的分析 BootstrapImportSelectorConfiguration 简单的配置类,看下源码 @Configuration @Import(BootstrapImportSelector.class) public class BootstrapImportSelectorConfiguration { }…
基于前文对springcloud的引导,本文则从源码角度查阅下cloud的context板块的运行逻辑 前言 springcloud是基于springboot开发的,所以读者在阅读此文前最好已经了解了springboot的工作原理.本文将不阐述springboot的工作逻辑 Cloud Context springboot cloud context在官方的文档中在第一点被提及,是用户ApplicationContext的父级上下文,笔者称呼为BootstrapContext.根据springb…
承接前文springcloud情操陶冶-springcloud config server(二),本文就不讲述server了,就简单阐述下client的应用 前话 config server在引入的时候也依赖config client的JAR包,也就是说本身的配置服务也集成了客户端的功能.在前文的分析中,笔者了解到默认client功能是关闭的.因为在ConfigServerBootstrapApplicationListener指定了spring.cloud.config.enabled=fal…
承接前文springcloud情操陶冶-springcloud context(二),本文将在前文基础上浅析下ConfigServer的工作原理 前话 根据前文得知,bootstrapContext引入了PropertySourceLocator接口供外部源加载配置,但作用是应用于子级ApplicationContext的环境变量Environment上,并不做更新维护操作. 具体的加载与维护更新外部源的配置信息,还是得有ConfigServer来完成,这也是本文分析的重点. 监听器 在这之前,…
承接前文springcloud情操陶冶-springcloud config server(一),本文将在前文的基础上讲解config server的涉外接口 前话 通过前文笔者得知,cloud config server提供了多种方式的外部源配置获取.当然也暴露了接口供外界调用,通用的方式是通过JMX接口来调用:笔者则比较关注其MVC方式,这也是本文分析的重点 ConfigServerAutoConfiguration 该自动配置类将server所涉及的功能安排的明明白白的.笔者先贴下它的源码…
许久之前便听到了springcloud如雷贯耳的大名,但是不曾谋面,其主要应用于微服务的相关架构.笔者对微服务并不是很了解,但其既然比较出众,遂也稍微接触研究下 springcloud特性 springcloud作为spring团队的微服务架构,其有如下的特性(摘自官方文档) Distributed/versioned configuration(分布式/版本化配置) Service registration and discovery(服务注册与发现) Routing(路由) Service-…
承接前文springboot情操陶冶-web配置(二),本文将在前文的基础上分析下mvc的相关应用 MVC简单例子 直接编写一个Controller层的代码,返回格式为json package com.example.demo.web.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import…
阅读本文请先稍微浏览下上篇文章Spring源码情操陶冶-AOP之ConfigBeanDefinitionParser解析器,本文则对aop模式的通知类作简单的分析 入口 根据前文讲解,我们知道通知类的解析主要建立在aop:aspect节点的解析上.废话少说我们直接观察ConfigBeanDefinitionParser#parseAdvice()方法 ConfigBeanDefinitionParser#parseAdvice()-解析通知类并注册到bean工厂 先奉上源码 /** * Pars…
前言-阅读源码有利于陶冶情操,本文承接前文Spring源码情操陶冶-AbstractApplicationContext#obtainFreshBeanFactory 前文提到最关键的地方是解析bean xml配置文件,废话不多说,直接上代码清单 //正如官方注释所说,解析import标签.alias标签.bean标签和自定义的标签 protected void parseBeanDefinitions(Element root, BeanDefinitionParserDelegate del…