开发者学堂课程【5天实战 Spring Boot 2.5:Spring 平台与新特性介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/780/detail/13690
Spring 平台与新特性介绍
内容介绍:
Java Spring Boot 2.5 新特性
一. Java Spring Boot 2.5新特性
1.Java Spring Boot 2.0框架
(1) 2013年8月开始发布0.5.0.M1,2014年4月发布1.0.0版本
(2) 首先 Spring Boot 不是一个框架
(3) 之前 Java EE 项目开发太繁琐
(4) 配合模板和框架来简化 Spring 项目开发
(5) 轻松创建具有最小或零配置的独立应用程序的方式
(6) 简化 Java Spring 应用开发
(7) 但只需要非常少的配置
(8) 它提供了默认的代码和配置
(9) 快速启动新的 Spring 项目
(10)最新的版本是2.4.0
注意 Spring Boot 从13年到现在,有很长的时间,它整个一个发展也超出预料,Spring 后面快速诞生了一个 Spring Cloud。Spring 微服诞生的比较早,现在微服架构 Spring Cloud 运用的也比较广泛。整个大背景,也有其他的语言。注意,Java 应用程序的开发叫傻瓜化,简化开发是主要目的。有些说法认为 Spring Boot 叫基架,因为它本身提供了各种标准模板,不需要我们完成很多配置。Spring Boot 项目构建可以用 Eclipse 和 IDEA,这其中 IDEA 默认应该有 Spring Boot 的模板,Eclipse 装插件即可,在菜单视察里搜一下 Spring 插件,就可以直接安装,也可以去官网,官网提供了一个热门的在线网页构建的模板。这些配置都被隐藏起来了,但不代表不重要,相反其实是很重要,只是是默认的,或者已经解决掉了,后续需要掌握原理。简化配置并不是没有配置,实际上用的默认的配置参数,这个体现了Boot快速启动或快速开始的思想。项目的构建工具,有自己的格式、配置文件、命令、现在装新版本的 Eclipse 已经继承了,不需要自己安装配置。
2.Spring Boot 2.x 新特性
2.0版本有很多内容已经发生了改变,二点几是相对比较稳定的版本。微服务基于2.0版本内容丰富很多。以及辅助周边框架的版本改进。
(1)Spring Boot 2.x不在支持 Java 7,最低 Java 8
(2)Spring Boot 2.x要求 Spring 版本5+,Thymeleaf 3+
(3)Tomcat 最低版本8.5,Jetty9.4以上,Hibernate 5.2+
(4)Maven3.3+, Gradle 最低版本3.4,提供 Gradle 插件
(5)简化安全配置,默认静态资源和 Actuator 启用安全
(6)增加 Reactive 响应式模块,如 Spring WebFlux
(7)HTTP/2新协议支持
(8)Spring Boot 2.x启用 HikariCP 替换 Tomcat 内置连接池
(9)支持 Kotlin1.2,支持性能监控 Micrometer 集成 Actuator
(10)其他开发、测试、部署的小改进
3.Spring Boot 2.4.0新特性
(1)改进 application.properties 和 application.yml 文件
(2) Docker/Buildpack 支持
(3)Spring Boot2.4支持 Java 15,同时还与 Java 11和8兼容
(4)Spring Boot 2.4支持 Spring 项目的新版本
(5)Spring AMQP 2.3
(6)Spring Batch 4.3
(7)Spring Data 2020.0
(8)Spring Framework 5.3
(9)Spring HATEOAS 1.2
(10)Spring Integration 5.4
(11)Spring Kafka 2.6
(12)Spring Retry 1.3
(13)Spring Security 5.4
(14)Spring Session 2020.0
4.Spring Boot 2.5.0新特性
(1)startup endpoint 支持 GET 请求
(2)info endpoint 安全改进
(3)支持 Java 16
(4)Spring Integration 5.5.0 M1
(5)Spring Data 2021.0.0 M1
(6)Spring Security 5.5.0 M1
(7)Spring Session 2021.0.0 M1
(8)Spring HATEOAS 1.3.0 M1
(9)其他依赖更新 dependency upgrades
2.5之后的版本也有一些改进,有一些更友好的配置,开发体验变得更好更简单,有些默认配置项目直接设置好了,做了很多简化工作。
( Java 项目里很多工程跟建筑工地其实是一样的,搬砖的打工人也就是码农,本质上,刚入门做的工作比较低端,随着技术提高,可能会成为架构师或者其他,负责整个工地整个大楼)
主要目的是简化配置,这其中有一个重要的点是自动化配置,之前Java 项目做得比较复杂的需要配置很多依赖性,现在有一个最小化依赖配置,意思是默认程序要启动需要的都已经加进来了,把通用性的能够提前解决的问题已经铺垫完成。
5.Spring Boot 2.0平台
比较重要例如监控等底层的改动是Spring Boot 2.0改动较大,后续版本逐渐完善。