• springboot学习01 – 自定义自动配置

    概述

    SpringBoot提供了自动配置能力。通过自动配置我们可以非常方便地启动相关的服务。

    SpringBoot自动配置有两个核心模块:

    1. 自动配置模块(autoconfigure):主要负责读取配置相关的内容,并尝试启动服务;
    2. 启动模块(star
  • SpringBoot探索03 – 条件注解

    SpringBoot中提供了一系列的条件注解(@Conditional)来实现对@Bean@Configuration等实例的创建进行约束。这些注解包括:

    • Class Conditions,类条件约束
    • Bean Conditions,Bean条件
  • SpringBoot探索02 – 启动过程之getSpringFactoriesInstances

    最近计划整理下SpringBoot的启动过程以及API请求返回过程,以便支持后续的部分内容,也方便实现一周一文的计划。

    先做SpringBoot启动流程分析。

    初见

    在SpringBoot启动代码的开头部分可以看到如下的内容:

  • 使用maven构建scala项目

    构建及编译scala工程我使用过三种工具:sbt、gradle和maven。

    感谢GFW,sbt的速度慢得让人心碎。即使使用诸如广谈公服等加速方案,也还是会遇到各种各样的问题(比如时不时的lock住)。所以pass。

    gradle是最让人惊喜的…

  • springboot入门08 – 创建非web项目

    概述

    从开始使用SpringBoot到现在,一直都是在用SpringBoot开发web服务(API服务)。直到前段时间,需要帮其他组的同事写一个非web的简单服务时,才想到Springboot是不是也支持非web项目。

    答案是肯定的:sprin…

  • spring feign https配置

    前两天需要通过springboot-feign来调用一个https的外部服务接口,因此要实现feign-client的SSL设置。

    feign执行http请求通常会调用feign.Client接口的实现。这个接口的默认实现类Default提供…

  • springboot入门07 – 配置文件详解

    概述

    这一篇主要介绍下SpringBoot配置相关的内容。

    通过配置文件,我们可以做到如下事情:

    • 修改springboot的默认配置项
    • 添加自定义配置项

    SpringBoot使用全局的配置文件,主配置文件名是固定的:application.xxx

    sp…

  • springboot入门06 – 接口单元测试方案

    以前写过关于springboot Controller层单元测试的系列文章(Spring Controller层测试)。但是那几篇文章还是更偏方法论一些,不能直接拿来使用。所以有了这偏内容,目的主要是记录下平时使用的Controller层单元测…

  • springboot入门05 – 包装SpringBoot Controller返回值

    一个项目使用了SpringBoot,需要对Controller的返回值进行二次包装。包装类结构大致如下:

  • springboot入门04 – 使用SpEL表达式

    概述

    SpEL即Spring表达式语言(Spring Expression Language)。

    从我通常的使用场景(API开发)来说,SpEL提供的大部分能力都可以划到奇技淫巧的范畴内。但是在一些场景下如缓存配置、ThymeLeaf取值等,SpE…