【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(这个没用,其实要用了,就没啥自定义开发啥事了)