SpringBootWeb极速入门-实现一个简单的web页面(01)

Spring简介

Spring是一个开源的Java开发框架,其官网是 spring.io/

Spring提供了一系列的模块和功能,包括Spring MVCSpring BootSpring DataSpring FrameWork等,这些模块和功能可以帮助开发者快速构建高质量的、可扩展的应用程序。

在Spring的这些模块中,Spring FrameWork是所有spring的核心底层框架,所有模块几乎都依赖于此。

Spring Boot依赖于Spring FrameWork,其可以帮助我们非常快速的构建应用程序、简化开发、提高效率。

在Spring的官网中,构建一个java应用程序,官方首先推荐的就是使用Spring Boot

Spring Boot快速入门

需求案例

我们实现一个如下需求:

使用 SpringBoot 开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符"Hello World~"

创建项目

打开编译器,点击File->New->Project->Spring Initializr,然后进行项目的一些基本配置:

Language选择java,Type选择Maven,Group组织名一般是项目的域名反写,Artifact模块名就起Spring_Boot_Web吧,java版本我们选择和JDK对应的版本,如稳定的8版本,填写完毕我们点击Next

接下来,我们需要选择Spring Web开发相关的依赖,Spring Boot版本我们选择2.7.17,防止版本太高出现一些问题。

最后点击CREATE等待项目联网创建(大约2min)

项目结构简析

项目的依赖下载完毕后,其项目结构如图

我们先删除.mvn、.gitignore、HELP.md、mvnm及mvnm.cmd这些没有用的文件,让项目结构清爽一些。

启动类

spring项目中的main文件夹内的SpringBootWebApplication是启动类,用于启动springg工程。

resources文件夹

resources文件夹用于存放项目的静态资源文件,例如HTML、CSS、JavaScript、图片等。默认情况下,Spring Boot会自动加载该文件夹下的静态资源文件。

pom文件

pom.xml文件是一个重要的配置文件,用于管理项目的依赖项构建配置。它基于Maven构建工具,可以帮助我们自动化构建和管理项目。

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>:指定了POM的版本,这里为4.0.0。-->
    <modelVersion>4.0.0</modelVersion>
    <!--    <parent>:定义了该项目的父项目。这里,父项目的groupId是org.springframework.boot,artifactId是spring-boot-starter-parent,version是2.7.17。-->
    <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.shixiaoshi</groupId>
    <artifactId>Spring_Boot_Web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Spring_Boot_Web</name>
    <description>Spring_Boot_Web</description>
    <!--    项目的Java版本为Java 8。-->
    <properties>
        <java.version>1.8</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>
    <!--    定义了项目的构建配置。在这里,项目使用了一个名为spring-boot-maven-plugin的插件。-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.0.RELEASE</version>
            </plugin>
        </plugins>
    </build>

</project>

异常处理:

如果spring-boot-maven-plugin飘红

添加如下代码刷新pom即可

xml 复制代码
<plugins>
  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
  + <version>2.3.0.RELEASE</version>
  </plugin>
</plugins>

使用代码实现需求

我们在启动类的平级目录下创建一个Hello类,键入如下代码

java 复制代码
package com.shixiaoshi.spring_boot_web;

//这两行代码导入了Spring框架的注解,用于映射HTTP请求和定义REST控制器。
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//这是一个注解,用于标识类作为REST控制器。在Spring Boot中,REST控制器类用于处理HTTP请求并返回HTTP响应。
@RestController
public class Hello {
    // 这是一个注解,用于映射HTTP请求到特定的方法。在这种情况下,它将映射到路径/hello的HTTP请求。
    @RequestMapping("/hello")
    // 路径/hello的HTTP请求到达时,这个方法将被调用。
    public String hello(){
        return "Hello World~";
    }
}

上述定义了一个Spring Boot Web应用程序,该应用程序有一个REST控制器类(Hello),当接收到路径为/hello的HTTP GET请求时,将返回"Hello World~"的字符串作为响应。

然后运行启动类SpringBootWebApplication

控制台出现打印的日志时,我们打开浏览器访问http://localhost:8080/hello

可见,我们的第一个Spring Web项目已经成功运行!

至此,我们就成功的使用Spring Boot创建了一个Spring Web的项目!

相关推荐
吾日三省吾码2 小时前
JVM 性能调优
java
弗拉唐3 小时前
springBoot,mp,ssm整合案例
java·spring boot·mybatis
oi773 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
少说多做3434 小时前
Android 不同情况下使用 runOnUiThread
android·java
知兀4 小时前
Java的方法、基本和引用数据类型
java·笔记·黑马程序员
蓝黑20204 小时前
IntelliJ IDEA常用快捷键
java·ide·intellij-idea
Ysjt | 深4 小时前
C++多线程编程入门教程(优质版)
java·开发语言·jvm·c++
shuangrenlong4 小时前
slice介绍slice查看器
java·ubuntu
牧竹子4 小时前
对原jar包解压后修改原class文件后重新打包为jar
java·jar