加了一个基于 Spring Boot 的简单示例。代码在这里:Spring Boot Example。示例是基于 Gradle 构建的,所以跑起来需要使用 Gradle。
演示了以下内容:
Spring MVC 基本用法
- 基于注解的 handler (
@Controller
/@RestController
) - 基于 bean 名字的 handler
- 异常处理
- 异步请求:
Callable
和DeferredResult
- Bean 作用域
- 事件监听
@EventListener
请求中的参数获取:
@RequestParam
@PathVariable
@RequestBody
@RequestHeader
@ModelAttribute
HandlerInterceptor
- 用在方法上的
@ModelAttribute
- 自定义视图(
XlsView
) 校验
- Java Bean Validation Specification
- Spring Validation
- 类型转换(
Converter
接口)
- 基于注解的 handler (
Spring Boot 的相关功能
- 使用
@ConfigurationProperties
注解 - 自定义 actuator endpoint
- 增加自己的 actuator metric
- 增加自己的 actuator health indicator
- 编写自己的 actuator trace repository
- 使用
Servlet
和Filter
- 使用
- Thymeleaf 集成(没有 Thymeleaf 的用法的演示)
- Mybatis 集成(SQL 语句的 XML 配置和注解配置)
- 使用 lombok
- 集成 Alibaba Druid
上面虽然列了一些,但是在工作中使用的 Spring MVC 特性是很少的(肯定没有上面列的多)。
Spring 5 Release 版中引入了 Spring WebFlux 框架。感觉也有点厉害。类似的有 Eclipse Vert.x,感觉更牛逼。然而学 Spring WebFlux 需要学 Java Rx。以后再说吧。