SpringBoot 3.3 【一】手把手讲解-使用Eclipse创建第一个SpringBoot应用程序

简单动作,深刻联结。在这技术海洋,我备好舟,等你扬帆。启航吧!
🌟点击【关注】,解锁定期的技术惊喜,让灵感与知识的源泉不断涌动。
👍一个【点赞】,如同心照不宣的默契,是我们共同语言的闪亮印记。
📚【收藏】好文,搭建你的专属智慧库,让每次回望都能照亮新知之路。


在本文中,我们将一起探讨如何使用最新版Spring Boot版本 Spring Boot 3.3.1、Eclipse IDE 和 Maven(不使用 Spring Boot Starter 插件)来创建一个简单的 Spring Boot 应用程序。这个应用程序将包含一个 Thymeleaf 登陆页面,一个 Java 类 用于接收用户名和密码,并进行简单的验证。

一、准备工作

1. 安装 Java:

  • 访问 Oracle 官网 下载并安装 Java JDK 17(Spring Boot 3.3.1 需要 JDK 17 或更高版本)。
  • 配置环境变量,确保 JAVA_HOMEPATH 变量设置正确。

2. 安装 Eclipse:

  • 访问 Eclipse 官网 下载 Eclipse IDE for Enterprise Java and Web Developers。
  • 解压并运行 Eclipse 安装程序,按照提示完成安装。

3. 安装 Maven:

访问 Maven 官网 下载并安装 Maven。
配置环境变量,确保 M2_HOMEPATH 变量设置正确。

二、创建 Maven 项目

1. 启动 Eclipse,点击 File -> New -> Maven Project

2. 选择项目模板:

  • 勾选 Create a simple project (skip archetype selection)。
  • 点击 Next
    在这里插入图片描述

3. 填写项目信息:

  • Group Id:com.jsglxx
  • Artifact Id:demo
  • Version:0.0.1-SNAPSHOT
  • Packaging:jar
    在这里插入图片描述

4. 点击 Finish,Eclipse 将自动生成项目结构。

三、添加 Spring Boot 依赖

1. 打开 pom.xml 文件,添加以下依赖:

  <dependencies>  
    <dependency>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-thymeleaf</artifactId>  
        <version>3.3.1</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-web</artifactId>  
        <version>3.3.1</version>  
    </dependency>  
</dependencies>

2. 添加 Spring Boot Maven 插件:

<build>  
    <plugins>  
        <plugin>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-maven-plugin</artifactId>  
            <version>3.3.1</version>  
            <executions>  
                <execution>  
                    <goals>  
                        <goal>repackage</goal>  
                    </goals>  
                </execution>  
            </executions>  
        </plugin>  
    </plugins>  
</build>

四、编写代码

1. 创建 Spring Boot 项目的基本文件

在Spring Boot中,application.yml 文件用来集中配置应用程序的属性设置,它提供了一种清晰、层次化的配置方式,替代了传统的 application.properties,使配置管理更加灵活和可读。

1)在 src/main/resources 目录下创建一个 application.yml 配置文件,并配置服务器端口号:

server:
  port:8080

2)在 src/main/java 目录下创建项目启动类: DemoApplication.java

package com.jsglxx.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
	
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

}

2. 创建 Thymeleaf 登陆页面:

src/main/resources/templates 目录下创建一个 login.html 文件。

<!DOCTYPE html>  
<html xmlns:th="http://www.thymeleaf.org">  
<head>  
    <title>请登陆!</title>  
</head>  
<body>  
    <h2>用户登陆</h2> 
    
    <h2 th:text="${errorMessage}"></h2>   <!-- 此处显示登陆失败的错误信息 -->
    
    <form action="/login" method="post">  
        <div>  
            <label>用户名:</label>  
            <input type="text" name="username"/>  
        </div>  
        <div>  
            <label>密  码:</label>  
            <input type="password" name="password"/>  
        </div>  
        <button type="submit">登 陆</button>  
    </form>  
</body>  
</html>

2. 创建 Java 类用于接收用户名和密码

src/main/java/com/jsglxx/demo 目录下创建一个 LoginController.java 文件。

package com.jsglxx.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;  
import org.springframework.web.bind.annotation.RequestParam;  
import org.springframework.web.servlet.ModelAndView;  

@Controller  
public class LoginController {  

    @PostMapping("/login")  
    public ModelAndView login(@RequestParam("username") String username, @RequestParam("password") String password) {  
        if ("admin".equals(username) && "password".equals(password)) {  
            return new ModelAndView("welcome", "message", "登陆成功!");  
        } else {  
            return new ModelAndView("login", "errorMessage", "错误的用户名或密码!");  
        }  
    }  

    @GetMapping("/login")  
    public String showLoginForm() {  
        return "login";  
    }  
}


以上代码是一个典型的 Spring Boot 控制器类,用于处理与登录相关的 HTTP 请求。让我们逐行解析这段代码的关键部分:

  • @Controller:这是一个 Spring MVC 控制器注解,它告诉 Spring 这个类是用来处理 HTTP 请求的。Spring Boot 自动扫描此类注解,并将它们注册为处理传入请求的控制器。
  • @PostMapping(“/login”):这是一个请求映射注解,用于处理 HTTP POST 请求。当客户端发送一个 POST 请求到 /login URL 时,此方法将被调用。
  • @RequestParam:注解用于从 HTTP 请求中提取参数。这里,“username”“password”POST 请求体中的参数名称,它们将分别绑定到方法参数 usernamepassword 上。
  • ModelAndView(“welcome”, “message”, “登陆成功!”):如果登录成功,返回一个 ModelAndView 对象,其中 “welcome” 是视图的名称(简单理解 为welcome.html页面,同理如果视图名称是"login",则对应login.html),“message” 是模型中的键(html中的 th:text=“${message}”),“登陆成功!” 是与该键关联的值。Spring Boot 将渲染这个视图,并将模型数据传递给视图层。
  • @GetMapping(“/login”):这个注解用于处理 HTTP GET 请求。当客户端请求 /login URL 时,将调用下面的方法,即用于显示登录表单页面 login.html
  • return “login”:返回一个字符串 “login”,这通常是指向视图模板的名称,这里对应 login.html 页面。Spring Boot 将负责渲染这个视图,并将其返回给客户端。

3. 创建欢迎页面

src/main/resources/templates 目录下创建一个 welcome.html 文件。

<!DOCTYPE html>  
<html xmlns:th="http://www.thymeleaf.org">  
<head>  
    <title>欢迎你!</title>  
</head>  
<body>  
    <h2 th:text="${message}"></h2>  
</body>  
</html>

五、运行和测试

1. 运行项目:

在主类的 DemoApplicationmain 方法上右键,选择 Run As -> Java Application。出现如下信息则说明启动成功(看到最后一行的启动ms):


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.3.1)

2024-07-11T20:37:30.640+08:00  INFO 16584 --- [           main] com.jsglxx.demo.DemoApplication          : Starting DemoApplication using Java 17.0.5 with PID 16584 (D:\eclipse-workspace\demo\target\classes started by JJW in D:\eclipse-workspace\demo)
2024-07-11T20:37:30.644+08:00  INFO 16584 --- [           main] com.jsglxx.demo.DemoApplication          : No active profile set, falling back to 1 default profile: "default"
2024-07-11T20:37:31.722+08:00  INFO 16584 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2024-07-11T20:37:31.738+08:00  INFO 16584 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2024-07-11T20:37:31.739+08:00  INFO 16584 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.25]
2024-07-11T20:37:31.829+08:00  INFO 16584 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2024-07-11T20:37:31.832+08:00  INFO 16584 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1138 ms
2024-07-11T20:37:32.270+08:00  INFO 16584 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path '/'
2024-07-11T20:37:32.282+08:00  INFO 16584 --- [           main] com.jsglxx.demo.DemoApplication          : Started DemoApplication in 2.018 seconds (process running for 2.327)

2. 访问应用:

  • 打开浏览器,访问 http://localhost:8080/login

在这里插入图片描述

3.测试登录:

  • 输入用户名 admin 和密码 password,点击登录,你应该能够看到欢迎页面。
  • 输入 错误的用户名或密码,你应该能够看到错误消息。

在这里插入图片描述


在这里插入图片描述


六、总结

通过遵循上述步骤,你应该能够成功地在 Eclipse 中使用 Maven 创建一个简单的 Spring Boot 应用程序,该应用程序包含一个 Thymeleaf 登陆页面和一个 Java 类用于接收用户名和密码,并进行简单的验证。

相关推荐

  1. 创建第一SpringBoot项目

    2024-07-12 01:58:02       49 阅读
  2. 开发第一SpringBoot程序

    2024-07-12 01:58:02       58 阅读

最近更新

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

    2024-07-12 01:58:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 01:58:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 01:58:02       58 阅读
  4. Python语言-面向对象

    2024-07-12 01:58:02       69 阅读

热门阅读

  1. Webpack打包生产环境进行优化处理

    2024-07-12 01:58:02       20 阅读
  2. 【深度学习】关于模型加速

    2024-07-12 01:58:02       22 阅读
  3. k8s 部署RuoYi-Vue-Plus之mysql搭建

    2024-07-12 01:58:02       22 阅读
  4. 大数据面试题之Hudi(1)

    2024-07-12 01:58:02       18 阅读
  5. ES6 Iterator 与 for...of 循环(五)

    2024-07-12 01:58:02       23 阅读
  6. 对素数的一种新理解

    2024-07-12 01:58:02       21 阅读
  7. 力扣 454四数相加

    2024-07-12 01:58:02       20 阅读
  8. 十大排序算法(慢慢更新)

    2024-07-12 01:58:02       22 阅读
  9. 简谈设计模式之建造者模式

    2024-07-12 01:58:02       18 阅读
  10. 力扣题解(乘积最大子数组)

    2024-07-12 01:58:02       23 阅读
  11. synchronized (userAccount.intern())知识点

    2024-07-12 01:58:02       22 阅读
  12. 网络协议与标准

    2024-07-12 01:58:02       24 阅读
  13. Haproxy搭建Web群集

    2024-07-12 01:58:02       23 阅读