• SpringBoot探索03 – 条件注解

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

    [阅读更多...]
  • 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项目。 答案是肯定的: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

    [阅读更多...]