【java框架系列】spring boot阶段性总结

概述

本文背景

从2016年接触,2017年全面升级到spring boot,差不多也有一段时间了。spring boot也升级了多个版本。

准备资料

官方blog: https://spring.io/blog/2017/10/17/spring-boot-1-5-8-available-now
官方文档: https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/pdf/spring-boot-reference.pdf

关于spring boot 1.X系列

spring.io在spring boot和springcloud推出之前,开源了很多的框架(见下文附录),但是除了spring framework自身,影响力都不够。直到spring boot、spring cloud系列框架推出,才成了spring框架的扩展中最有影响力的两个(或者说集大成者)。
Spring Boot的设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
通俗点理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了很多的jar包,比如散落在各处的spring框架:spring amqp、spring data redis client、spring web service,进而集大成。
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态。
从技术实现上来说,也是集成开源届的各种方案比如 client、rabbitmq client、eureka client。

spring boot 1.5.X版本

版本特性

我们看下官方文档中的spring boot1.5.X版本的特性:

  • springApplication(这个肯定得用)
  • Externalized Configuration(这个肯定得用)
  • profile(这个不怎么用)
  • logging(这个不怎么用)
  • develop web application(这个肯定得用)
  • Security(这个没有怎么用)
  • Working with SQL databases(这个没有怎么用)
  • Working with NoSQL technologies(这个没怎么用)
  • caching(这个肯定得用)
  • messaging(这个肯定得用)
  • Calling REST services(这个没用)
  • Validation(这个没用)
  • Sending email(这个没用)
  • Distributed Transactions with JTA(这个没用)
  • Spring Integration(这个肯定得用)
  • Spring Session(这个没用)
  • Monitoring and management over JMX(这个没用)
  • Testing(这个肯定得用)
  • websocket(这个没用)
  • web services(这个没用)
  • Spring Boot Actuator: Production-ready features(这个没用,其实要用了,就没啥自定义开发啥事了)

源码预览


附录