SpringBoot介绍以及第一个SpringBoot程序

在这里插入图片描述

T04BF

👋专栏: 算法|JAVA|MySQL|C语言

🫵 今天你敲代码了吗

2.第一个SpringBoot程序

2.1Spring Boot介绍

我们首先要了解什么是Spring?

Spring可以让java程序更加快捷,简单和安全.Spring对于速度,简单性和生产力的关注使其成为世界上最流行的java框架

Spring官方提供了许多的开源项目,覆盖范围从web开发到大数据
在这里插入图片描述

实际上,这些项目都是基于Spring Framework来进行开发的,但是Spring Framework配置多,入门难,为了简化开发者的使用,从而推出了Spring Boot

当我们提到Spring的时候,可能对应着两个含义:
(1)Spring全家桶
(2)Spring Framework

也就是说:
Spring Boot的诞生是为了简化Spring 程序开发的

Spring Boot指的就是Spring脚手架,就是类似于我们盖房子的脚手架
在这里插入图片描述

在盖房子的时候,使用脚手架可以更加快速的盖房子

而Spring Boot就是Spring的脚手架

2.2使用idea创建Spring Boot程序

2.2.1 社区版idea

需要先安装Spring Boot Help插件
在这里插入图片描述

但是现在下载需要花费,即收费版

因此社区版idea使用这个插件,如果想要免费使用,需要按照对应的idea版本,并且自己将插件下载下来(插件文件在本文资源)

注意对应的idea版本必须为2021.1 -2022.1.4

下载完后
在这里插入图片描述

找到插件安装即可

2.2.2专业版idea

不需要进行插件安装,idea已经集成了

2.2.3创建SpringBoot项目

在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.4项目代码和目录介绍

目录介绍

在这里插入图片描述
这四个都是没用的,可以直接去掉

在这里插入图片描述

pom文件
<?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>3.3.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>org.JWCB</groupId>
    <artifactId>J20240715</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>J20240715</name>
    <description>J20240715</description>
    <url/>
    <licenses>
        <license/>
    </licenses>
    <developers>
        <developer/>
    </developers>
    <scm>
        <connection/>
        <developerConnection/>
        <tag/>
        <url/>
    </scm>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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>
            </plugin>
        </plugins>
    </build>

</project>

我们主要看dependencies标签里面的内容

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

引入了两个依赖:
spring-boot-starter-web:包含web应用开发所需要的常见的依赖
spring-boot-starter-test:包含了单元测试所需要的常见依赖

但是可以发现,这似乎与我们前面讲到的Maven坐标不太一样,少了version
在这里插入图片描述

可是jar包是有下载下来的,并且指定了版本

实际上这就牵扯到父工程

每一个Spring Boot工程,都有一个父工程,所依赖的版本号都是在父工程里面统一管理的
在这里插入图片描述

往下拉的时候会发现有一个插件
在这里插入图片描述

实际上这是与打包有关的插件
如果我们不使用这个插件:

[图片]
在这里插入图片描述
此时的jar包就不包含我们额外引入的依赖,只是一些自定义的类而已

但是如果我们加上这个插件
在这里插入图片描述

对于SNAPSHOT
在这里插入图片描述

实际上指的是非稳定版本,可能发生变化
而Release版本就是稳定的版本

2.3Web服务器

我们先实现代码如下:
在这里插入图片描述

此时使用浏览器访http://127.0.0.1:8080/sayHello

就能得到这样的结果
在这里插入图片描述

这个过程就涉及浏览器和服务器之间的数据交互,使用的是http协议
在这里插入图片描述

而Web服务器就是对HTTP协议进行封装,程序员不需要直接对协议进行操作(比如自己写代码去解析HTTP协议规则)

SpringBoot内置了Tomcat服务器(一种web服务器),因此我们无需配置就可以直接运行
在这里插入图片描述

因为Tomcat默认的端口号是8080,因此程序访问的端口号也是8080

2.3.1请求响应流程分析

在这里插入图片描述

  • 对于浏览器:
    当我们输入网址http://127.0.0.1:8080/sayHello之后,就会通过Ip地址127.0.0.1定位到一台计算机(此时是本机)
    接着通过端口号找到计算机上对应的进程,也就是本地计算机上端口号为8080的程序
    /sayHello是请求资源的位置
  • 对于服务器
    接收到浏览器发送的信息(如/sayHello),接着在服务器上找到相应资源,将资源发送给浏览器

2.3.2访问出错

404

表示用户访问的资源不存在,可能是URL的路径有误
在这里插入图片描述

使用fiddler就能清楚地看到:
在这里插入图片描述

505

表示服务器出现内部错误,一般是服务器的代码执行过程出现错误(程序崩溃)
这种我们经常会第一时间去看错误日志
在这里插入图片描述
在这里插入图片描述

通过idea看错误日志:
在这里插入图片描述

感谢您的访问!!期待您的关注!!!

在这里插入图片描述

T04BF

🫵 今天记得敲代码

相关推荐

  1. 开发第一SpringBoot程序

    2024-07-16 05:28:04       59 阅读
  2. 创建第一SpringBoot项目

    2024-07-16 05:28:04       49 阅读
  3. SpringBoot 基础介绍以及相关可实现的功能思路

    2024-07-16 05:28:04       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 05:28:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 05:28:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 05:28:04       62 阅读
  4. Python语言-面向对象

    2024-07-16 05:28:04       72 阅读

热门阅读

  1. RocketMQ消费者依赖的业务Bean还未初始化完成

    2024-07-16 05:28:04       22 阅读
  2. 大数据如何推动工业数字化发展

    2024-07-16 05:28:04       23 阅读
  3. 【AI绘画教程】什么是Huggingface

    2024-07-16 05:28:04       27 阅读
  4. python开发面试-20240715

    2024-07-16 05:28:04       27 阅读
  5. 喜欢dp动态规划的第二天(暑假提升)

    2024-07-16 05:28:04       25 阅读
  6. 习题1 回文数 python、C++ 不同解法

    2024-07-16 05:28:04       30 阅读