Spring的官方网站地址是 Spring | Home。
官网顶部有六个大菜单,第一个是Why Spring(为什么选择Spring)。
其中的第一个子菜单是OverView(总览),点击进入。
首先看到这段话:
Spring让每个人的Java编程更快、更简单、更安全。Spring聚焦于速度、简洁和生产力,这使他成为世界上最受欢迎的Java框架。
如果你怀疑Spring是否真的【最受欢迎】,可以点击文字上面的链接,会进入一个JVM生态圈的调查报告,不过是2018年的比较老了,收集的样本数量就1万左右。
接下来写了六个选择Spring的理由:
1、Spring哪里都有,非常流行。全世界的开发者都信任它。日常生活中无数的创新应用可能都是基于Spring开发的。另外Spring作为开源项目,还有很多来自世界知名科技公司的贡献,列出的这几个公司中,阿里排在了亚马逊、谷歌和微软前面。
2、Spring很灵活。Spring框架核心的控制反转IoC和依赖注入DI特性,为各种特性和功能提供了基础。(是说框架侵入性少的意思?)
3、Spring很高效。这里主要指SpringBoot,把应用上下文和自动配置的web服务器都合并在一起,使微服务的部署非常简单。再配合SpringCloud,上云是分分钟的事。
4、Spring很快。工程师们关注性能,而Spring默认有快速启动,快速关闭、优化执行(不太懂)。Spring还支持响应式(reactive)编程模型。接着又绕回第3点去了,说SpringBoot构建起来很快。
5、Spring很安全。一方面是说Spring如果本身出现安全漏洞,会尽快修复。还会随时监控第三方组件的漏洞,更新版本。另一方面是说,有个SpringSecurity项目来做安全框架,不用开发人员自己做。
6、Spring有人支持。意思就是社区很庞大,赶紧入坑吧。
接着是Spring能做什么,这里列出了七个点
1、微服务:点进去之后,提到了SpringBoot,SpringCloud,SpringCloudStream,Micrometer,Cloud Foundry。
2、响应式:Spring提供了两个并行的栈,一个是主流的基于Servlet API的SpringMVC和SpringData。另一个就是Spring WebFlux和SpringDataReactive。
3、云:SpringCloud架构的几个关键点是:API网关、注册服务器、配置服务器、微服务、分布式跟踪。
1)服务发现:注册服务器可以支持Eureka、Consul,Zookeeper等。也支持SideCar方案。甚至还提供客户端负责均衡器这样的微服务。
2)API网关:Spring Cloud Gateway
3)配置服务器:Spring Cloud Config
4)断路器:Spring Cloud Circuit Breaker,应该就是包装了一下,可以选择Resilience,Sentinel或Hystrix。
5)跟踪: Spring Cloud Sleuth
6)测试:Spring Cloud Contract
疑问:要全用了上面的组件,或者用了其中的几个以上,才够格说自己的系统架构是Spring Cloud?
4、Web应用:当然是指SpringBoot了,还提到了安全即Spring Security,以及数据访问可以支持关系数据库,非关系数据库,map-reduce框架等。
5、Serverless:函数即服务(FaaS),Spring Cloud Function,
6、事件驱动:Spring Cloud Stream、SpringCloudFunction,SpringCloud DataFlow,SpringCloud Kafka Streams,
7、批处理:Spring Batch
后面三个没用过。
Why Spring结束。