SpringBoot小结

目录

基本介绍

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 工程时需要联网。==

SpringBoot小结_第1张图片

选择 Spring Initializr ,用来创建 SpringBoot 工程

以前我们选择的是 Maven ,今天选择 Spring Initializr 来快速构建 SpringBoot 工程。而在 Module SDK 这一项选择我们安装的 JDK 版本。

SpringBoot快速入门

开发步骤

SpringBoot 开发起来特别简单,分为如下几步:

  • 创建新模块,选择Spring初始化,并配置模块相关基础信息

  • 选择当前模块需要使用的技术集

  • 开发控制器类

  • 运行自动生成的Application类

知道了 SpringBoot 的开发步骤后,接下来我们进行具体的操作

1.创建新模块

  • 文件→新建→创建新模块

SpringBoot小结_第2张图片

  •  选择 Spring Initializr ,用来创建 SpringBoot 工程

以前我们选择的是 Maven ,现在选择 Spring Initializr 来快速构建 SpringBoot 工程。而在 Module SDK 这一项选择我们安装的 JDK 版本。

1.0↓

SpringBoot小结_第3张图片

2.0↓ 

 ==注意:打包方式这里需要设置为 Jar==

区别:服务器url不同,阿里云模板没有指定父类工程

spring有SpringBoot小结_第4张图片

选中 Web,然后勾选 Spring Web

因为我们需要开发一个 web 程序,使用到了 SpringMVC 技术

SpringBoot小结_第5张图片

 经过以上步骤后就创建了如下结构的模块,它会帮我们自动生成一个 Application 类,而该类一会再启动服务器时会用到

SpringBoot小结_第6张图片

 ==注意:==

  1. 在创建好的工程中不需要创建配置类

  2. 创建好的项目会自动生成其他的一些文件,而这些文件目前对我们来说没有任何作用,所以可以将这些文件删除。

    可以删除的目录和文件如下:

    • .mvn

    • .gitignore

    • HELP.md

    • mvnw

    • mvnw.cmd

2 .创建 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!";
    }

}

3 启动服务器

可能会出现的问题:端口被占用

 解决方法:

1. 暴力:找到占用的端口号,并且找到对应的进程,杀死该进程,释放被占有的端口号

(1)打开 cmd命令窗口,输入netstat -ano|findstr 端口号 命令,查询该端口对应的TCP号;
                 SpringBoot小结_第7张图片

 查询到端口号后,在关闭对应的TCP号即可关闭端口。

(2)输入taskkill /t /f /im TCP号,来关闭被占用的端口

SpringBoot小结_第8张图片

 这样就成功关闭了被占用的端口号。

简便方法:

找到占用8080端口号的活动进程,记住PID(进程id),右击打开任务管理器,查看→选择列→勾选PID→找到对应数字的进程→右键结束进程

  2. 温柔:修改自身的端口号

当遇到这个问题时,我们可以创建一个新的端口号来重新执行SpringBoot项目,创建新的端口号其实很简单,只需要在application.yaml或者application.properties文件下配置即可。
                    * 一般会将tomcat的默认端口号修改为80。80端口号是http协议的默认端口号。
                        * 好处:在访问时,就不用输入端口号

 运行 SpringBoot 工程不需要使用本地的 Tomcat 和 插件,只运行项目 com.itheima 包下的 Application 类,我们就可以在控制台看出如下信息

4 进行测试

使用测试工具apifox来测试程序

SpringBoot小结_第9张图片

使用 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工程快速启动

后端可以将 SpringBoot 工程打成 jar 包,该 jar 包运行不依赖于 TomcatIdea 这些工具也可以正常运行,只是这个 jar 包在运行过程中连接和我们自己程序相同的 Mysql 数据库即可。这样就可以解决这个问题

打包

由于我们在构建 SpringBoot 工程时已经在 pom.xml 中配置了如下插件

jar -jar springboot_01_quickstart-0.0.1-SNAPSHOT.jar

所以我们只需要使用 Mavenpackage 指令打包就会在 target 目录下生成对应的 Jar 包。

==注意:该插件必须配置,不然打好的 jar 包也是有问题的。==

打成jar包,可以在无idea、无Tomcat的前提下进行前端测试

 SpringBoot小结_第10张图片

可能出现这个问题:

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.

SpringBoot小结_第11张图片

问题原因:

8080端口被占用,关闭正在使用这个端口的程序(我之前在idea上启动了服务器,关闭即可)

重新在cmd命令窗口运行,启动成功,在Apifox上运行测试

SpringBoot小结_第12张图片

启动

进入 jar 包所在位置,在 命令提示符 中输入如下命令

jar -jar springboot_01_quickstart-0.0.1-SNAPSHOT.jar

SpringBoot小结_第13张图片

感受了 SpringBoot 程序,回过头看看 SpringBoot 主要作用是什么,就是简化 Spring 的搭建过程和开发过程。

原始 Spring 环境搭建和开发存在以下问题:

  • 配置繁琐

  • 依赖设置繁琐

SpringBoot 程序优点恰巧就是针对 Spring 的缺点

  • 自动配置。这个是用来解决 Spring 程序配置繁琐的问题

  • 起步依赖。这个是用来解决 Spring 程序依赖设置繁琐的问题

  • 辅助功能(内置服务器,...)。我们在启动 SpringBoot 程序时既没有使用本地的 tomcat 也没有使用 tomcat 插件,而是使用 SpringBoot 内置的服务器。

不同配置文件

  • application.properties配置文件

现在需要进行配置,配合文件必须放在 resources 目录下,而该目录下有一个名为 application.properties 的配置文件,我们就可以在该配置文件中修改端口号,在该配置文件中书写 portIdea 就会提示,如下

SpringBoot小结_第14张图片

 application.properties 配置文件内容如下:

server.port=80

  • application.yml配置文件

删除 application.properties 配置文件中的内容。在 resources 下创建一个名为 application.yml 的配置文件,在该文件中书写端口号的配置项,格式如下:

server:
    port: 81

==注意: 在:后,数据前一定要加空格。==

而在 yml 配置文件中也是有提示功能的,我们也可以在该文件中书写 port ,然后 idea 就会提示并书写成上面的格式

SpringBoot小结_第15张图片

  • application.yaml配置文件

删除 application.yml 配置文件和 application.properties 配置文件内容,然后在 resources 下创建名为 application.yaml 的配置文件,配置内容和后缀名为 yml 的配置文件中的内容相同,只是使用了不同的后缀名而已

application.yaml 配置文件内容如下:

server:
    port: 82

启动服务,在控制台可以看到绑定的端口号

你可能感兴趣的:(spring,spring,boot,intellij-idea,java)