【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01

简介: 【8月更文挑战第12天】SpringBootWeb极速入门-实现一个简单的web页面01

Spring简介

Spring是一个开源的Java开发框架,其官网是 https://spring.io/
GIF 2023-11-8 14-27-13.gif
Spring提供了一系列的模块和功能,包括Spring MVCSpring BootSpring DataSpring FrameWork等,这些模块和功能可以帮助开发者快速构建高质量的、可扩展的应用程序。

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

Spring Boot依赖于Spring FrameWork,其可以帮助我们非常快速的构建应用程序、简化开发、提高效率。
在Spring的官网中,构建一个java应用程序,官方首先推荐的就是使用Spring Boot
GIF 2023-11-8 14-27-13.gif

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
GIF 2023-11-8 15-50-40.gif
接下来,我们需要选择Spring Web开发相关的依赖,Spring Boot版本我们选择2.7.17,防止版本太高出现一些问题。
GIF 2023-11-8 15-52-28.gif
最后点击CREATE等待项目联网创建(大约2min)

项目结构简析

项目的依赖下载完毕后,其项目结构如图image.png
我们先删除.mvn、.gitignore、HELP.md、mvnm及mvnm.cmd这些没有用的文件,让项目结构清爽一些。
GIF 2023-11-8 15-08-37.gif

启动类

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

resources文件夹

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

pom文件

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

<?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>
AI 代码解读

异常处理:
如果spring-boot-maven-plugin飘红
image.png
添加如下代码刷新pom即可

<plugins>
  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
  + <version>2.3.0.RELEASE</version>
  </plugin>
</plugins>
AI 代码解读

使用代码实现需求

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

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~";
    }
}
AI 代码解读

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

然后运行启动类SpringBootWebApplication
GIF 2023-11-8 16-18-37.gif
控制台出现打印的日志时,我们打开浏览器访问http://localhost:8080/hello
image.png
可见,我们的第一个Spring Web项目已经成功运行!

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

目录
打赏
0
3
3
0
95
分享
相关文章
|
2月前
|
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
185 60
【Java并发】【线程池】带你从0-1入门线程池
【Java并发】【AQS】适合初学者体质的AQS入门
AQS这是灰常重要的哈,很多JUC下的框架的核心,那都是我们的AQS,所以这里,我们直接开始先研究AQS。 那说到研究AQS,那我们应该,使用开始说起🤓 入门 什么是AQS? AQS(Abst
54 8
【Java并发】【AQS】适合初学者体质的AQS入门
|
1月前
|
【Java并发】【synchronized】适合初学者体质入门的synchronized
欢迎来到我的Java线程同步入门指南!我不是外包员工,梦想是写高端CRUD。2025年我正在沉淀中,博客更新速度加快,欢迎点赞、收藏、关注。 本文介绍Java中的`synchronized`关键字,适合初学者。`synchronized`用于确保多个线程访问共享资源时不会发生冲突,避免竞态条件、保证内存可见性、防止原子性破坏及协调多线程有序访问。
56 8
【Java并发】【synchronized】适合初学者体质入门的synchronized
|
1月前
|
《从头开始学java,一天一个知识点》之:数组入门:一维数组的定义与遍历
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。明日预告:《多维数组与常见操作》。 通过实例讲解数组的核心认知、趣味场景应用、企业级开发规范及优化技巧,帮助你快速掌握Java数组的精髓。
60 23
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
构建高效Java后端与前端交互的定时任务调度系统
通过以上步骤,我们构建了一个高效的Java后端与前端交互的定时任务调度系统。该系统使用Spring Boot作为后端框架,Quartz作为任务调度器,并通过前端界面实现用户交互。此系统可以应用于各种需要定时任务调度的业务场景,如数据同步、报告生成和系统监控等。
62 9
|
2月前
|
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
66 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
Java中的字符集编码入门-增补字符(转载)
本文探讨Java对Unicode的支持及其发展历程。文章详细解析了Unicode字符集的结构,包括基本多语言面(BMP)和增补字符的表示方法,以及UTF-16编码中surrogate pair的使用。同时介绍了代码点和代码单元的概念,并解释了UTF-8的编码规则及其兼容性。
129 60
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: 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-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: 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-优雅草卓伊凡解决方案
105 7
【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
本文介绍了如何配置和启动基于Java的若依(RuoYi)项目,涵盖后端和前端的详细步骤。首先,准备Redis、MySQL以及IDE(如Idea和VS)。接着,通过GitHub获取代码并导入到IDE中,执行必要的SQL文件和配置数据库密码。然后,启动Redis并进行相关配置。最后,按照前端配置步骤克隆前端代码库,打开终端执行命令完成前端配置。整个过程详细记录了每一步的操作,帮助开发者顺利部署若依项目。 如果你觉得有帮助,请点赞、关注和收藏,这将是我持续分享的动力!
1106 2