加了一個基於 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。以後再說吧。