最近想了下springboot前端路径的伪静态实现。
通过百度最容易找到的方案是使用urlrewritefilter这个依赖。不过一想到要为这么一件事情就添加一个依赖,还要再添加一个配置文件,还要挨个写一遍所有的路径映射就觉得头疼,所以pass。
跟踪了一下springboot WEB请求处理的过程,找到了一个关键类:UrlPathHelper。在获取Handle…
最近想了下springboot前端路径的伪静态实现。
通过百度最容易找到的方案是使用urlrewritefilter这个依赖。不过一想到要为这么一件事情就添加一个依赖,还要再添加一个配置文件,还要挨个写一遍所有的路径映射就觉得头疼,所以pass。
跟踪了一下springboot WEB请求处理的过程,找到了一个关键类:UrlPathHelper。在获取Handle…
在springboot的启动代码中看到了下面这一句:
|
1 2 3 4 |
private void configureHeadlessProperty() { System.setProperty(SYSTEM_PROPERTY_JAVA_AWT_HEADLESS, System.getProperty(SYSTEM_PROPERTY_JAVA_AWT_HEADLESS |
SpringBoot提供了自动配置能力。通过自动配置我们可以非常方便地启动相关的服务。
SpringBoot自动配置有两个核心模块:
通常这两个模块是分开的。比如使用Caffeine缓存,缓存自动配置在一个…
SpringBoot中提供了一系列的条件注解(@Conditional)来实现对@Bean和@Configuration等实例的创建进行约束。这些注解包括:
Class Conditions,类条件约束Bean Conditions,Bean条件约束Property Conditions,配置项条件约束Resource Conditions,文件条件约束Web Appl最近计划整理下SpringBoot的启动过程以及API请求返回过程,以便支持后续的部分内容,也方便实现一周一文的计划。
先做SpringBoot启动流程分析。
在SpringBoot启动代码的开头部分可以看到如下的内容:
|
1 2 |
setInitializers((Collection) getSpringFactoriesInstances(Applicat |
从开始使用SpringBoot到现在,一直都是在用SpringBoot开发web服务(API服务)。直到前段时间,需要帮其他组的同事写一个非web的简单服务时,才想到Springboot是不是也支持非web项目。
答案是肯定的:spring诞生之初就不是为web项目定制的,springBoot无非是在spring核心项目的基础上添加了一些方便开发者使用的组…
前两天需要通过springboot-feign来调用一个https的外部服务接口,因此要实现feign-client的SSL设置。
feign执行http请求通常会调用feign.Client接口的实现。这个接口的默认实现类Default提供了添加SSL配置的构造器:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public static class Defau |
这一篇主要介绍下SpringBoot配置相关的内容。
通过配置文件,我们可以做到如下事情:
SpringBoot使用全局的配置文件,主配置文件名是固定的:application.xxx
springboot的配置文件有多种格式可选,如:.properties,.xml,.yml。
我个人比较喜欢yaml的简洁,…
以前写过关于springboot Controller层单元测试的系列文章(Spring Controller层测试)。但是那几篇文章还是更偏方法论一些,不能直接拿来使用。所以有了这偏内容,目的主要是记录下平时使用的Controller层单元测试方案。
在这里先定义一个普通的api接口类WorkerApi:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
一个项目使用了SpringBoot,需要对Controller的返回值进行二次包装。包装类结构大致如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import org.springframework.http.HttpStatus; public class Result { &nb |