1. Spring Boot介绍
1.1 认识Spring
在学习SpringBoot之前, 我们先来认识⼀下Spring 我们看下Spring官⽅(Spring | Home)的介绍
Spring让Java程序更加快速, 简单和安全. Spring对于速度、简单性和⽣产⼒的关注使其成为 世界上最流⾏的Java框架。
Spring官⽅提供了很多开源的项⽬, 覆盖范围从Web开发到⼤数据, Spring发展到了今天, 已经形成了⾃ ⼰的⽣态圈. 我们在开发时, 也倾向于使⽤Spring官⽅提供的技术, 来解决对应的问题
上图所示的项⽬都是基于Spring Framework来进⾏开发的, 但是Spring Framework存在配置多, ⼊⻔难的问 题, Spring 也意识到了这个问题, 为了简化开发者的使⽤, 从⽽创造性的推出了SpringBoot.
1.2 什么是Spring Boot.
Spring Boot 的诞⽣是为了简化 Spring 程序开发的。 Spring Boot 翻译⼀下就是 Spring 脚⼿架。它是为了快速开发 Spring 框架⽽诞⽣的;
2. Spring Boot 项⽬创建
使⽤专业版Idea不需要安装插件, Idea已经集成了;创建Spring Boot项目的方式有很多,比如用IDEA、官网、阿里云、只创建个空的mave项目等等。
2.1 使用IDEA创建
File -> New ->Project:
点击Next,进入下图界面:
说明:
1、SpringBoot版本,选择3.X的即可,这个版本会随着SpringBoot的升级而发生变化,是不固定的。3.X版本使用的是jdk17,3.X以下使用的是jdk8。
2、打钩的表示创建项目之初,就引入的第三方依赖(框架、插件、组件........)。
点击Create,创建项目,进入下图界面。根据自己的java版本选择合适的spring boot版本,即修改pom.xml文件。如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.17</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>zxslzw2014_8_11</artifactId> <version>0.0.1-SNAPSHOT</version> <name>zxslzw2014_8_11</name> <description>zxslzw2014_8_11</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>
点击刷新,如下:
如上图所示,就是创建好了一个spring boot项目;
注意:
第一次打开Spring Boot项目需要加载很久,因为当前Spring Boot框架并没有在自己的本地仓库。为了加速Spring Boot项目的下载,在打开项目之前,需要在自己的Maven配置好国内源,也就是本地仓库的 .xml 文件,添加一些内容,配置国内源;
2.2 官网创建
(略)
2.3 阿里云创建
(略)
3. 项目代码和目录介绍
pom.xml文件里的具体信息,我们主要看<dependencies>标签里的内容,里面引入了两个依赖:
spring-boot-starter-web:包含了web应用开发所需要的常见依赖。
spring-boot-starter-test:包含了单元测试所需要的常见依赖。
3.1 父工程
下面这个依赖没有引入,但jar包也也正常引入到项目了,如图:
我们来看看本地仓库的的jar包是否下载下来了呢?
如上图所示,本地仓库的的jar包也下载下来了. 为什么没有指定 , 程序也可以正常运⾏呢?
因为每一个SpringBoot工程,都有一个父工程。而这里所依赖的版本号,父工程会统一进行管理。父工程指定版本号后,就会自动引入和指定版本对应的依赖,创建的SpringBoot项目,会继承SpringBoot父工程。
3.2 目录介绍
Spring Boot项目的目录如下说明:
src/main/java:Java 源代码。
src/main/resources:静态资源或配置文件。
/static:静态资源文件夹,比如前面学的js、css、html等静态文件,不需要服务器数据进行绑定的页面。
/templates:模版资源文件夹,主要存放动态模版文件,比如:JSP,Freemarker,Thymeleaf:等需要服务器动态渲染数据的文件。
src/test/java:测试的源代码。
target:编译后的文件路径。
pom.xml:Maven的配置文件。
4. 运行项目
4.1 打开文件
打开java文件下面的class文件,如图:
等待服务器响应,出现如下的结果,说明我们的spring boot项目启动成功了;
4.2 输出hello 仲夏是荔枝味!
代码如下:
package com.example.zxslzw2014_8_11;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class Hello {
@RequestMapping("/hello")
public String hello(){
return "hello,仲夏是荔枝味!";
}
}
运行我们服务器上的代码,打开浏览器搜索我们的相对路径:127.0.0.1:8080/hello,结果页面显示如下:
4.3 Web服务器
浏览器和服务器两端进⾏数据交互, 使⽤的就是HTTP协议,如下图所示:
我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据 的格式.
Web 服务器就是对HTTP协议进⾏封装, 程序员不需要直接对协议进⾏操作(⾃⼰写代码去解析http协议 规则),让Web开发更加便捷, 所以Web服务器也被称为WWW服务器, HTTP服务器, 主要功能是提供⽹ 上信息浏览服务.
常⻅的Web服务器有: Apache,Nginx, IIS, Tomcat, Jboss等 。 Spring Boot内置了Tomcat服务器,无需配置即可直接运行,如图:
Tomcat默认端口号是:8080,我们也能在任务管理器观察这个进程,先去cmd(指令:netstat -ano|findstr 8080)上查找8080的进程号,如图:
这个就是我们刚才写的程序,还在运行。我们在浏览器输入的URL,访问的也就是这个进程。
4.3 请求响应流程分析
浏览器输⼊URL之后, 发起请求, 就和服务器之间建⽴了连接,如下图:
浏览器输入完网址:http://127.0.0.1:8080/hello,就是向本地计算机中的8080端口程序中,在 /hello 资源位置获取数据,进行发送请求。8080端口程序接受到请求后,在 /hello 位置找到数据,发送给浏览器,详细分析如下:
浏览器:
1、输入网址:http://127.0.0.1:8080/hello
2、通过 127.0.0.1 定位网络上的一台计算机,这里的IP地址指的是本机。
3、通过端口号 8080 找到计算机对应的进程,也就是本机正在运行的8080端口号程序。
4、通过/hello 找到请求的资源位置。(资源:对计算机来说就是数据;Web资源:通过网络可以访问到的资源,通常指服务器上的数据)
服务器:
1、接收到浏览器发送的信息(如:/hello)。
2、在服务器上找到 /hello的资源。
3、把资源发送给浏览器。
ps:本次的内容就到这里了,如果对你有所帮助的话,就请一键三连哦!!!
本文的封面来自:bilibili苏杉杉的pv,侵权删https://www.bilibili.com/video/BV1vo4y167eh/?spm_id_from=333.999.0.0&vd_source=866da5be2ef0ddd213b053523da53138
电子签名:上嘉路