目录
基本介绍
SpringBoot快速入门
开发步骤
1.创建新模块
2 .创建 Controller
3 启动服务器
可能会出现的问题:端口被占用
解决方法:
1. 暴力:找到占用的端口号,并且找到对应的进程,杀死该进程,释放被占有的端口号
(1)打开 cmd命令窗口,输入netstat -ano|findstr 端口号 命令,查询该端口对应的TCP号; 编辑
(2)输入taskkill /t /f /im TCP号,来关闭被占用的端口
简便方法:
2. 温柔:修改自身的端口号
4 进行测试
SpringBoot工程快速启动
打包
可能出现这个问题:
问题原因:
启动
不同配置文件
application.properties 配置文件内容如下:
SpringBoot
是由 Pivotal
团队提供的全新框架,其设计目的是用来简化 Spring
应用的初始搭建以及开发过程。
简化开发,在spring轻量级的基础上再次简化开发,主要体现在
坐标(创建工程,并在 pom.xml
配置文件中配置所依赖的坐标 )
Spring
程序中的坐标需要自己编写,而且坐标非常多
SpringBoot
程序中的坐标是我们在创建工程时进行勾选自动生成的
web3.0配置类
Spring
程序需要自己编写这个配置类。这个配置类大家之前编写过,肯定感觉很复杂
SpringBoot
程序不需要我们自己书写
配置类
Spring/SpringMVC
程序的配置类需要自己书写。而 SpringBoot
程序则不需要书写。
==注意:基于Idea的
Spring Initializr
快速构建SpringBoot
工程时需要联网。==
选择 Spring Initializr
,用来创建 SpringBoot
工程
以前我们选择的是 Maven
,今天选择 Spring Initializr
来快速构建 SpringBoot
工程。而在 Module SDK
这一项选择我们安装的 JDK
版本。
SpringBoot
开发起来特别简单,分为如下几步:
创建新模块,选择Spring初始化,并配置模块相关基础信息
选择当前模块需要使用的技术集
开发控制器类
运行自动生成的Application类
知道了 SpringBoot
的开发步骤后,接下来我们进行具体的操作
文件→新建→创建新模块
Spring Initializr
,用来创建 SpringBoot
工程以前我们选择的是 Maven
,现在选择 Spring Initializr
来快速构建 SpringBoot
工程。而在 Module SDK
这一项选择我们安装的 JDK
版本。
1.0↓
2.0↓
==注意:打包方式这里需要设置为 Jar
==
区别:服务器url不同,阿里云模板没有指定父类工程
选中 Web
,然后勾选 Spring Web
因为我们需要开发一个 web
程序,使用到了 SpringMVC
技术
经过以上步骤后就创建了如下结构的模块,它会帮我们自动生成一个 Application
类,而该类一会再启动服务器时会用到
==注意:==
在创建好的工程中不需要创建配置类
创建好的项目会自动生成其他的一些文件,而这些文件目前对我们来说没有任何作用,所以可以将这些文件删除。
可以删除的目录和文件如下:
.mvn
.gitignore
HELP.md
mvnw
mvnw.cmd
Controller
在 com/example/springboot_demo1
包下创建 BookController
,代码如下:
@RestController
@RequestMapping("/books")
public class BookController {
@GetMapping("/{id}")
public String getById(@PathVariable Integer id){
System.out.println("id ==> "+id);
return "hello , spring boot!";
}
}
查询到端口号后,在关闭对应的TCP号即可关闭端口。
这样就成功关闭了被占用的端口号。
找到占用8080端口号的活动进程,记住PID(进程id),右击打开任务管理器,查看→选择列→勾选PID→找到对应数字的进程→右键结束进程
当遇到这个问题时,我们可以创建一个新的端口号来重新执行SpringBoot项目,创建新的端口号其实很简单,只需要在application.yaml或者application.properties文件下配置即可。
* 一般会将tomcat的默认端口号修改为80。80端口号是http协议的默认端口号。
* 好处:在访问时,就不用输入端口号
运行 SpringBoot
工程不需要使用本地的 Tomcat
和 插件,只运行项目 com.itheima
包下的 Application
类,我们就可以在控制台看出如下信息
使用测试工具apifox来测试程序
使用 SpringBoot
进行开发,使整个开发变得很简单,那它是如何做到的呢?
要研究这个问题,我们需要看看 Application
类和 pom.xml
都书写了什么。先看看 Applicaion
类,该类内容如下:
@SpringBootApplication
public class SpringbootDemo1Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo1Application.class, args);
}
}
这个类中的东西很简单,就在类上添加了一个 @SpringBootApplication
注解,而在主方法中就一行代码。我们在启动服务器时就是执行的该类中的主方法。
再看看 pom.xml
配置文件中的内容
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.5.0
com.itheima
springboot_01_quickstart
0.0.1-SNAPSHOT
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
org.springframework.boot
spring-boot-starter-jetty
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
后端可以将 SpringBoot
工程打成 jar
包,该 jar
包运行不依赖于 Tomcat
和 Idea
这些工具也可以正常运行,只是这个 jar
包在运行过程中连接和我们自己程序相同的 Mysql
数据库即可。这样就可以解决这个问题
由于我们在构建 SpringBoot
工程时已经在 pom.xml
中配置了如下插件
jar -jar springboot_01_quickstart-0.0.1-SNAPSHOT.jar
所以我们只需要使用 Maven
的 package
指令打包就会在 target
目录下生成对应的 Jar
包。
==注意:该插件必须配置,不然打好的
jar
包也是有问题的。==
打成jar包,可以在无idea、无Tomcat的前提下进行前端测试
Description:
Web server failed to start. Port 8080 was already in use.
Action:
Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.
8080端口被占用,关闭正在使用这个端口的程序(我之前在idea上启动了服务器,关闭即可)
重新在cmd命令窗口运行,启动成功,在Apifox上运行测试
进入 jar
包所在位置,在 命令提示符
中输入如下命令
jar -jar springboot_01_quickstart-0.0.1-SNAPSHOT.jar
感受了 SpringBoot
程序,回过头看看 SpringBoot
主要作用是什么,就是简化 Spring
的搭建过程和开发过程。
原始 Spring
环境搭建和开发存在以下问题:
配置繁琐
依赖设置繁琐
SpringBoot
程序优点恰巧就是针对 Spring
的缺点
自动配置。这个是用来解决 Spring
程序配置繁琐的问题
起步依赖。这个是用来解决 Spring
程序依赖设置繁琐的问题
辅助功能(内置服务器,...)。我们在启动 SpringBoot
程序时既没有使用本地的 tomcat
也没有使用 tomcat
插件,而是使用 SpringBoot
内置的服务器。
application.properties配置文件
现在需要进行配置,配合文件必须放在 resources
目录下,而该目录下有一个名为 application.properties
的配置文件,我们就可以在该配置文件中修改端口号,在该配置文件中书写 port
,Idea
就会提示,如下
application.properties
配置文件内容如下:server.port=80
application.yml配置文件
删除 application.properties
配置文件中的内容。在 resources
下创建一个名为 application.yml
的配置文件,在该文件中书写端口号的配置项,格式如下:
server:
port: 81
==注意: 在
:
后,数据前一定要加空格。==
而在 yml
配置文件中也是有提示功能的,我们也可以在该文件中书写 port
,然后 idea
就会提示并书写成上面的格式
application.yaml配置文件
删除 application.yml
配置文件和 application.properties
配置文件内容,然后在 resources
下创建名为 application.yaml
的配置文件,配置内容和后缀名为 yml
的配置文件中的内容相同,只是使用了不同的后缀名而已
application.yaml
配置文件内容如下:
server:
port: 82
启动服务,在控制台可以看到绑定的端口号