目录
[Spring Boot](#Spring Boot)
[Spring Boot 介绍](#Spring Boot 介绍)
[Spring Boot 项目创建](#Spring Boot 项目创建)
[使用 Idea 创建](#使用 Idea 创建)
[输出 Hello World](#输出 Hello World)
[Web 服务器](#Web 服务器)
Spring
- Spring 让 Java 程序更加快速,简单和安全,Spring 对于速度、简单性和生产力的关注使其成为世界上最流行的 Java 框架
- Spring 官方提供了很多开源项目,覆盖范围从 Web 开发到大数据,Spring 发展到今天已经形成自己的生态圈,我们在开发时,也倾向于使用 Spring 官方提供的技术来解决对应的问题
Spring 官网:https://spring.io/
Spring 有两个解释:
- Spring 家族
- Spring core(核心)
查看 Spring 家族


根据上下文判断说的是 Spring 家族还是 Spring core
说的时候很少说 Spring core,Spring core 对应 Spring Framework(框架),是 Spring 最早产品
如果说 Spring 是 Java 目前最广泛使用的框架,此时 Spring 指的就是 Spring 家族
Spring Boot
Spring Boot 介绍
- Spring Boot 是为了简化 Spring 程序开发的
- Spring 相当于火车,而 Spring Boot 相当于12306,Spring Boot 是基于 Spring 开发的
Spring Boot 项目创建
使用 Idea 创建
环境准备
idea 要求:
- idea 社区版本:2021.1-2022.1.4
- idea 专业版无要求
- 使用 Idea 社区要先安装 Spring Boot Help 插件才能创建 Spring Boot 项目
- idea 专业版支持 Spring,非专业版需要安装 Spring Boot Help 插件
安装 Spring Boot Help 插件
- 查找插件并下载


点击 Plugin homepage 进入网页下载插件,直接点击 Install 安装的是收费版
插件地址:https://plugins.jetbrains.com/plugin/18622-spring-boot-helper/versions
之前插件地址有免费版下载(插件需要对应 idea 版本)

没有了可以从我的码云上下载:https://gitee.com/git-queen-wang/spring
- 安装插件
将 spring 插件压缩包存于任意地方,点击从硬盘上进行安装,选择压缩包所在位置


点击完 OK 需要重启 idea,重启后点击 installed 会显示已经安装的插件

检查插件是否安装成功

创建 Spring Boot 项目



和之前 Maven 仓库坐标对比,Spring Boot 项目也是会打包为 jar 包有自己定义的坐标
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
</dependencies>

项目版本由程序员自己决定


引入第三方依赖


Spring Boot 版本选择没有 SNAPSHOT
3.X 的版本用的是 JDK17
2.X 的版本用的是 JDK8

最后创建

右下角点击加载(识别出为 Maven 项目,需要使用 Maven 进行加载构建)

没有点或者不小心跳过了,项目名称右键添加框架会出现 Maven 选项


加载失败或者时间过长
-
确认是否配置了国内源(网络非常好不配置国内源也是可以的)
-
切换网络(网络切换会造成 jar 只加载了一半,但不会重新加载了,需要清除本地仓库,后期熟练可以找到未加载成功对应的文件夹删掉就可以)

-
检查版本是否在仓库有
-
重新刷新 Maven
-
确认 idea 是否卡死(卡死需要在任务管理器中关闭 idea 重新加载)
加载成功对应的项目创建

如果插件(plugin)加载不出来,则添加版本,建议与 Spring Boot 版本保持一致


插件报错按照路径清除重新刷新

网页版创建
不使用 idea 也可以创建 Spring Boot 项目
Spring 官网提供的网页版来创建 Spring Boot 项目(https://start.spring.io)

下载插件


预览

下载
也可以使用阿里云创建(https://start.aliyun.com/)

- 企业大多数时候复制粘贴压缩包创建项目
- 还可以不基于任何页面,插件进行创建
创建空的 Maven 项目,自己写依赖,启动类
项目代码和目录介绍

idea 相关配置比如 Maven 地址等都是在 .idea 文件里面,下载项目时将 .idea 文件删掉,.idea 删除后会重新生成的
Maven 相关配置信息、帮助文档可以删掉

整个代码在 src 里面

.gitignore 表示在提交码云的时候可以忽略掉的内容(格式、代码),该信息配置可以保留

springboot-demo.iml 也是配置文件

真实的代码只有以下三个文件

java 里面是源代码

resource 资源文件,包括配置信息

test 里面是研发人员写的自测代码

target 是编译文件

观察 pom 文件,pom.xml 文件的具体信息不需要过度关注,主要看 <dependencies> 标签里内容
运行项目
启动类:与类名无关,只要加上该注解就是启动类(右键点击启动)
@SpringBootApplication
public class SpringbootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemoApplication.class, args);
}
}
启动成功标志,表示 Tomcat 启动成功,花了 7 秒多

内容都下载下来正常不会报错,可能出现的问题是端口报错

关闭 8080 端口号
查看已使用端口号 8080 的程序:
- 首先确保 C:\Windows\System32 存在系统环境变量 Path 里面
- 在 64 位 Windows 上,C:\Windows\System32 存放的是 64 位的系统文件和程序(包括 64 位的 netstat.exe)
- 然后在 cmd 中输入指令:netstat -ano | findstr :8080
- 点开任务管理器查找端口号对应的进程 id 点击右键结束任务即可关闭


微信用的并不是本机的端口号 8080


也可以通过命令的形式关掉(taskkill /pid <进程 pid> -f)

修改 8080 端口号

输出 Hello World

package com.blue.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class helloController {
@RequestMapping("/hello")
public String hello() {
return "hello, Spring boot";
}
}
重新启动项目:http://127.0.0.1:8080/hello 最终结果如下

Web 服务器
- 浏览器和服务器两端进行数据交互,使用的就是 HTTP 协议
- HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间交互数据的格式
- Web 服务器就是对 HTTP 协议进行了封装

- 常见的 Web 服务器有:Apache,Nginx,IIS,Tomcat,Jboss 等
- Spring Boot 内置了 Tomcat 服务器,无需配置即可运行

通过下面途径可以看到项目引入的包,都是 Spring 默认帮我们去用的
(Spring 默认把很多工具封装进去了,我们可以直接拿来使用)


Tomcat 就是一个 Web 服务器,默认端口号是 8080
每个进程都有端口号,HTTP 协议发送指定 IP(发去哪)和端口号(发给谁)
请求响应流程分析

访问出错
常见问题
打开 fiddler

未打开 fiddler

- 拒绝连接请求大多数原因是服务器未启动
- 还有一部分原因:如果IP 是外网,可能端口号未开放(但本机不存在这个问题)
HTTP 状态码
200:成功
3XX:重定向
4XX:客户端错误
5XX:内部错误
404:资源不存在,页面不存在(检查 url 路径包括大小写,检查代码注解)
500:代码问题,查看后端日志
看日志方法:从下往上看(一段一段的看,而不是一行一行),先看最后一段的首行