概述 SpringBoot提供了自动配置能力。通过自动配置我们可以非常方便地启动相关的服务。 SpringBoot自动配置有两个核心模块: 自动配置模块(autoconfigure):主要负责读取配置相关的内容,并尝试启动服务; 启动模块(
[阅读更多...]-
springboot学习01 – 自定义自动配置
-
SpringBoot探索03 – 条件注解
SpringBoot中提供了一系列的条件注解(@Conditional)来实现对@Bean和@Configuration等实例的创建进行约束。这些注解包括: Class Conditions,类条件约束 Bean Conditions,Be
[阅读更多...] -
SpringBoot探索02 – 启动过程之getSpringFactoriesInstances
最近计划整理下SpringBoot的启动过程以及API请求返回过程,以便支持后续的部分内容,也方便实现一周一文的计划。 先做SpringBoot启动流程分析。 初见 在SpringBoot启动代码的开头部分可以看到如下的内容: 比较显眼的是
[阅读更多...] -
springboot入门08 – 创建非web项目
概述 从开始使用SpringBoot到现在,一直都是在用SpringBoot开发web服务(API服务)。直到前段时间,需要帮其他组的同事写一个非web的简单服务时,才想到Springboot是不是也支持非web项目。 答案是肯定的:spr
[阅读更多...] -
spring feign https配置
前两天需要通过springboot-feign来调用一个https的外部服务接口,因此要实现feign-client的SSL设置。 feign执行http请求通常会调用feign.Client接口的实现。这个接口的默认实现类Default提
[阅读更多...] -
springboot入门07 – 配置文件详解
概述 这一篇主要介绍下SpringBoot配置相关的内容。 通过配置文件,我们可以做到如下事情: 修改springboot的默认配置项 添加自定义配置项 SpringBoot使用全局的配置文件,主配置文件名是固定的:application.
[阅读更多...] -
springboot入门06 – 接口单元测试方案
以前写过关于springboot Controller层单元测试的系列文章(Spring Controller层测试)。但是那几篇文章还是更偏方法论一些,不能直接拿来使用。所以有了这偏内容,目的主要是记录下平时使用的Controller层单
[阅读更多...] -
springboot入门05 – 包装SpringBoot Controller返回值
一个项目使用了SpringBoot,需要对Controller的返回值进行二次包装。包装类结构大致如下: 通过查找资料,找到了两种封装方式。 方法一 第一种方式是替换掉RequestResponseBodyMethodProcessor,这
[阅读更多...] -
springboot入门04 – 使用SpEL表达式
概述 SpEL即Spring表达式语言(Spring Expression Language)。 从我通常的使用场景(API开发)来说,SpEL提供的大部分能力都可以划到奇技淫巧的范畴内。但是在一些场景下如缓存配置、ThymeLeaf取值等
[阅读更多...] -
springboot入门03 – 配置定时任务
概述 在Java环境下创建定时任务有多种方式: 使用while循环配合Thread.sleep(),虽然稍嫌粗陋但也勉强可用 使用Timer和TimerTask 使用ScheduledExecutorService 定时任务框架,如Quar
[阅读更多...]