开发者学堂课程【Spring Boot 2.5.x 开发实战:】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/853/detail/14067
0Spirng Boot2.5 开发实战 REST API 模拟淘宝订单接口
内容介绍:
一.Spring Boot 介绍
二.演示实战
三.模拟淘宝订单接口
一.Spring Boot 介绍
本节课讲的是 Spring Boot2.5开发实战 REST API,模拟淘宝订单接口,从 hello world 开始,逐步将项目复杂化。
Spring Boot 属于一个快速开发框架,本质上底层依赖于其他框架,它简化了整个项目的配置包括依赖加载管理等一系列过程,但是本质上比如开发网站,还是依赖于底层的比如 Servlet-API 包括 Spring MVC 的库以及相关的一些容器组件。
注意,有人说 Spring Boot 是取代Spring MVC 的,有很多这种观点是错误的,这不是取代,而是方便的、让人更舒服的去使用这个框架,可以使用快速下载,也可以使用IDEA 或者 Eclipse。
二.演示实战
我们这里演示使用 Eclipse 来进行实战。
1. 打开网页,这个网站是 start.spring.io ,打开以后看到的这个界面,如果要开发网站的话,Spring Boot 可以选2.5.0(SNAPSHOT),也可以选2.4.1。
2.4.1就足够了,2.3.7的话很多公司还没有使用,他们可能用的是二点零点几,二点一点几,这其中的版本号是 Boot 版本号,与 Spring Cloud 版本号不一样。
Artifact 可以任意取名比如 SpringBoot2xdemo,Java 有的人可能选择15,我们这里是选择8,作为企业绝大部分公司都选择8。
2. 做网页一般要输入 Web 关键字,就是这个第一个,底层这个注释它使用的是 Spring MVC 和 Tomcat, Tomcat 作为一个默认的嵌入式的 Web 容器,可以用来构建网站开发 RESTful API,注意,这也可以选择其他框架,输入 web,web 的依赖是有很多的,还有 Spring Web Services,正常跟 web 相关的组件都有,过期的也列出来了,基本上版本兼容不一样的都有。
3. 第一个就可以使用 Spring Reactive Web,这个底层框架依赖于 WebFlux and Netty,可以使用这两者中任意一个,我们选择传统的 MVC。
4. 继续点击确定,会生成一个压缩包,可以继续导入到 IDEA 里直接使用,也可以直接使用 Boot 编译器。
还有一种简单的方式,使用 Eclipse 装插件,直接下载安装 Spring Starter Project 插件,然后在 other 里面选 Spring Boot 的一个扩展,选其中一个项目即可,名字可以使用
JavaSpringBoot25xDemo或其他任意名字,Java Version 版本选8,版本可以选择稍微高一点,因为版本是可变的,注意兼容性问题,一般选择二点四点几或者二点五点几。
5. 继续下一步,版本可以任意选择比如2.5.0,稳妥企业可以选2.4.1等,正式企业可以选二点三点几,Available 选择 web第一个 Spring Web。
(第一个吃螃蟹的人注意影响,有可能有些参数或者配置遇到复杂情况可能出错或者不兼容,这时掉坑的话,需要花时间去处理。所有我们先使用新一点的版本,但如果是企业用二点四点几的版本是没有问题的。出于安全性考虑,提醒第一个吃螃蟹的人做好心理准备,个人学习可以使用较新版本,但是企业应用一般选择更低版本比较稳妥,因为有许多问题其他人经历过)。
6. 继续下一步,注意,有些参数配置遇到复杂的情况可能出错,需要花时间去解决。
7. 继续点击 finish,默认会生成一个项目,其中有一个 pom 文件,注意会有一个加载过程,第一次加载时间比较久,这也许取决于网络快慢,不要随意修改导致加载不必要的依赖包,中间有中断过程,项目启动时会报错。
8. 继续看基本结构,整个项目有一个注解@SpringBootApplication,这个注解叫加载配置,解析配置参数加载必要依赖,实际意义能找到背后依赖包。打开包的依赖项,有各种依赖包括日志、依赖注解、Web、Bean的等等多个。这就是傻瓜式编程很重要的原因,在其中默认通过配置 starter 基础依赖时,内部有依赖清单,清单包括 spring boot starter web 等一系列的东西,全部加载进来。表面是一个依赖,实际被解析成一个依赖列表。
9. 项目可以直接启动,默认端口嵌入的 Tomcat 是9.0版本,端口是8080,如果本地有就可能冲突,可以适当修改参数。其中有个很重要的配置文件叫 application. properties,可以修改端口或者程序命名,,主机名也可以修改。
修改端口:
Server.port=8088
程序命名:
Spring.application.name=SpringBoot25xDemo
启动运行,可以用解压包的形式构建,也可以右键 Run As,可以使用 Java Application 和 Spring Boot Application 两种形式运行。查看日志,可以看到已启动,但是没有内容,因为程序还没有写东西,现在先暂停。可以看到 Tomcat 根地址
10.新建,添加一个 REST 控制器,取名 HelloController,添加注解@RestController,发现没有自动提示,没有自动提示容易出问题,然后写入:
public String Hello()
{
return“Hello Spring Boot 25x”;
}
添加
注解@RequestMapping(“hello”)
#加个hello返回字符串,地址偏移,可以在网络中暴露该方法
11.再次启动,基本的程序就构造完成了,程序启动无报错,可以打开浏览器进行测试,搜索 localhost:8088/ hello 可以看到返回了一个字符串 Hello Spring Boot 25x,说明成功。
三.模拟淘宝订单接口
如果标准项目要改造复杂的项目,比如淘宝订单,使用同样的方法,
需要再新建一个取名为
OrderController,与之前演示步骤相同,可以复制之前的代码进行改
造,把 Hello 改成 getOrder,可以返回 Order 的类型,没有
Order 可以创造一个 Order 的类,Order 中是空的,在 Order
里面写入:
private int id;
private String title;
生成 Select getters 测试器
改造完代码如下:
进行调试,再次重启,打开浏览器测试,
搜索 localhost:8088/getOrder 就完成了。
以上操作没有连真实数据库,主要用于演示,返回的是 Jackson 数据,默认使用 Jackson 序列化。本节课讲的是 Spring Boot2.5 实战开发 REST API,模拟淘宝订单接口,从 hello world 开始,然后改成 get order,逐步将项目复杂化。