开发者学堂课程【Spring Boot 2.5.x 开发实战:1.Spring Boot2.5实战课程大纲与新特性介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/853/detail/14066
1.Spring Boot2.5实战课程大纲与新特性介绍
内容介绍
一、 Spring boot2.x 实战课程大纲
二、 Java Spring boot2.x 新特性
三、 Spring boot 2.4实战 demo
一、Spring boot2.x实战课程大纲
目前使用较多的 Spring boo t 版 本号是2.0之后的,主要以2.3、2.4、2.5为主,目前使用最多的是2.2。本课程将从以下几方面进行介绍:
首先会从新特性内容进行介绍:
(1) 自动化配置底层原理
(2) 集成 Swagger
(3) RESTAPI 与 MVC 网站
其次会介绍如何实战数据库:
(1) Spring Data
(2) Hibernate 框架
(3) Repository 模式
(4) 实战 MySQL 数据库
扩展知识阶段会介绍以下四方面:
(1) MongoDB 数据库
(2) Redis 高并发缓存
(3) 安全与性能监控
(4) Docker 容器部署
作为生产环境下的重要关注点,例如安全问题,性能监控问题,课程会结合整个 Spring boot 2.X 框架进行讲解。最重要的在于 docker 容器,部署 docker 容器被应用于各大互联网公司中。扩展知识的介绍贴近于目前行业内较为重要的互联网公司关注的技术。对于阿里 Java 开发学院最新课程介绍如下:
(1)Java
夯实基础
Java 编程语言语法
Java Web 开发框架
数据库开发与设计
ORM 框架的使用
(2)Dubbo
服务治理
分布式架构体系
Java服务治理
Dubbo 分布式架构
Dubbo 实战开发
(3)Spring Boot
快速开发
Spring Boot 知识体系
Spring Boot2.0新特性
Spring Boot 网站开发
Spring Boot API 开发
(4)Spring Cloud
微服务
微服务架构体系
微服务注册发现
微服务熔断限流
微服务代理网关
(5)Spring Cloud Alibaba
阿里开源
阿里开源微服务
Nacos 注册发现
Sentinel 熔断
SEATA 分布式事务
阿里巴巴的开源的分布式架构设计模式较为经典。 Spring boot 作为最重要的一环,为其他的架构设计和开发工作做铺垫,该系列作为重点讲解。重中之重是微服务架构。阿里开源的项目当中功能特性的迭代,文档的完整性,影响力较大,利于个人学习及成长。
二、 Java Spring boot2.x 新特性
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项目开发
最新的 Spring boot 版本是2.5,出于稳定安全的考虑,企业一般使用一年以前的版本,不会使用最新的版本作为公司项目开发的选择。 Spring boot 诞生的目标是应用的快速开发,简化项目配置和依赖工作,提升开发效率,能更快速地构建应用程序。但如果要成为高级架构师,需要研究底层源码,封装越好,越不容易拆分底层原理实现。
Spring boot 是 Spring 平台中重要的一环,属于垫脚石的作用,为之后的应用架构开发工作做铺垫,Boot本身含义是启动的意思。 Cold 之后的 Spring cloud 微服务架构体系,Spring data,方便构建不同数据源,主要目的是一站式开发。较为重要的就是所有事务一站式开发,不需要程序员做许多复杂的配置,后续的管理及内嵌的服务器容器都不需要再过多处理,也就是最小化依赖,最小化依赖也就是程序能够运行的最小依赖包。但是存在一个问题,就是会加入不必要的配置,自动化的优化一定程度上简化了程序员入门的学习难度,但对高阶学习难度变大。
因为大多数人学习的是简单开发,并不懂底层原理会弱化学习能力。该课程目的在于学生了解底层原理。 Spring boot 2.0中有一个显著变化,也就是显著式编程,相较于传统的 API 引入了非主式的编程模式,主要目的在于提高高并发程序的吞吐量,包括底层数据库对接和安全,有对应的编程实现。
显著式编程在其他语言中也都存在,在各个语言中都会互相借鉴,对应的 Spring boot 2.0也进行了较大改动。 Spring boot 1.0主要实现简化配置的功能,2.0改动较大。
性能监控的 Actuator 组件需要注意,因为在后续应用当中需要使用该组件进行监控。其他改动相对于 Spring boot 2.0之后依赖于 Java 8.0以上的版本。改动如下:
(1)Spring Boot 2.x 不在支持 Java 7,最低 Java 8
(2)Spring Boot 2.x 要求 Spring 版本5+,Thymeleaf 3+
(3)Tomcat 最低版本8.5,Jetty 9.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)支持 Kotlin 1.2,支持性能监控 Micrometer 集成 Actuator
(10)其他开发、测试、部署的小改进
三、 Spring boot 2.4实战 demo
开发工具的选择,可以选择使用 idea,也可以使用 Eclipse。如图所示:
如果不想使用 idea 或 Eclipse 等编程软件,也可以在网站上进行在线创建项目向导,选择相应的构建工具和语言版本等。对于该网站,文件会生成相应的压缩包,后续可以导入到 Eclipse 中,用文本编辑工具也可以。作为公司企业开发来说,如果是小型公司,用 Eclipse 即可,但作为上市公司来说,需要规避法律风险。可以根据自身爱好,选择不同开发工具。 RESAPI 项目可以快速构建,但是如果做 Spring IVC 网站构建,需要特殊的配置,因为目前较多的中大型项目都是前后端分离,使用 Spring boot 可以快速构建后台 API,因为存在安全跨域及数据库等操作问题。