JavaEE 进阶第六期:Spring Boot 如何重塑后端开发

专栏:JavaEE 进阶跃迁营
个人主页:手握风云

目录

[一、第一个 Spring Boot 程序](#一、第一个 Spring Boot 程序)

[1.1. Spring Boot 介绍](#1.1. Spring Boot 介绍)

[1.2. Spring Boot 项目创建](#1.2. Spring Boot 项目创建)

[1.3. 项目代码](#1.3. 项目代码)

[1.4. 目录介绍](#1.4. 目录介绍)

[1.5. 启动项目](#1.5. 启动项目)

[1.5. 输出 Hello World](#1.5. 输出 Hello World)


一、第一个 Spring Boot 程序

1.1. Spring Boot 介绍

Spring Boot 是 Spring 生态体系下的核心开发框架,其设计初衷是简化 Spring 程序的开发流程,解决传统 Spring Framework 配置繁琐、入门门槛高的问题,本质上可理解为 "Spring 框架的脚手架"------ 如同盖房子时的脚手架能加速施工,Spring Boot 能让开发者快速搭建并启动 Spring 项目,大幅提升 Java 开发效率。

传统 Spring Framework 虽功能强大,但在实际开发中存在明显短板:配置繁琐、依赖管理复杂、部署麻烦。为解决这些问题,Spring 官方推出 Spring Boot,通过 "约定大于配置" 的设计思想,简化配置、自动集成依赖、内置 Web 服务器,让开发者聚焦业务逻辑而非环境配置。

1.2. Spring Boot 项目创建

我这里使用的是 IDEA 专业版,可以直接创建 Spring Boot。创建新项目的时候,直接点击左侧的 Spring Initializr 就可以创建。

这里我们以Spring Web 为例,创建项目。

创建好之后,这些文件都可以删掉,我们只关心 src 和 pom 文件。

1.3. 项目代码

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>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.5.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>Test11_10_1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Test11_10_1</name>
    <description>Test11_10_1</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>
                <version>3.5.7</version>
            </plugin>
        </plugins>
    </build>

</project>

在 pom 文件中,引入了两个依赖:

  1. spring-boot-starter-web:包含了web应用开发所需要的常见依赖
  2. spring-boot-starter-test:包含了单元测试所需要的常见依赖

但是这些依赖我们没有指定版本号,但是 jar 包也正常导入项目中了,并且查看的时候也是有版本号的。这是因为每一个 SpringBoot 工程,都有一个父工程。依赖的版本号,都会在父工程中统一管理。父工程指定版本号后,就会自动引⼊和所指定版本对应的依赖,创建的 SpringBoot 项⽬,会继承 SpringBoot 父⼯程。

1.4. 目录介绍

Spring Boot 项目有两个主要的目录:

  1. src/main/java: Java 源代码
  2. src/main/resources:为静态资源或配置文件
  3. src/test/java:测试代码源代码
  4. target:编译后的文件路径
  5. pom.xml:maven 配置文件

1.5. 启动项目

java 复制代码
package com.yang.test11_10_1;

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

@SpringBootApplication // SpringBoot 启动类注解
public class Test11101Application {

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

}

点击启动类的 main 方法就可以运行 Spring Boot 项目了,启动成功如下图所示:

1.5. 输出 Hello World

我们新建一个 HelloController 类:

java 复制代码
package com.yang.test11_10_1;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello Spring Boot";
    }
}

写好代码之后,再重新启动项目,接着在浏览器的地址栏输入 http://127.0.0.1:8080/hello,就可以看到我们的输出结果。

相关推荐
知守观21 分钟前
设计模式实战:从真实老项目中看标准模板方法与工厂的落地
java·spring·设计模式
独隅28 分钟前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
SL_staff1 小时前
JVS私有化文档系统上线避坑指南:5大运维与业务协同断点及检测加固实践
java·开源·全栈
FinelyYang3 小时前
考试系统简答题 AI 阅卷:覆盖度驱动、异步评分与人机协同落地实践
java·大数据·人工智能
hhhjhl3 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
用户3126874877203 小时前
Java 对象内存布局:压缩指针、对齐填充与 JOL 实测
java
东华果汁哥3 小时前
【Spring AI 实战】从零开始调用大模型接口,构建 Java AI 应用
java·人工智能·spring
Song_RsHt4 小时前
Redis 与微服务,什么场景下无可替代
java·redis·后端·学习·微服务
学长毕设4 小时前
基于SpringBoot的建筑材料管理系统-附源码
java·spring boot·后端