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,就可以看到我们的输出结果。

相关推荐
Lucky小小吴7 分钟前
JAVA漫谈反序列化篇——笔记
java·开发语言·笔记
练习时长一年21 分钟前
LeetCode热题100(最小栈)
java·算法·leetcode
阿杰AJie24 分钟前
通用 Token 管理工具(详细注释 + 完整使用示例 + 设计说明)
java·后端·程序员
TH_126 分钟前
28、powershell快速删除 node_modules
java
一 乐27 分钟前
智慧医药|基于springboot + vue智慧医药系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
雨中飘荡的记忆1 小时前
享元模式深度解析:看Java如何优雅节省内存
java·设计模式
悟空码字1 小时前
SpringBoot接口防抖大作战,拒绝“手抖”重复提交!
java·spring boot·后端
编程大师哥1 小时前
Boost C++
java·c++·php
网安_秋刀鱼1 小时前
【java安全】shiro鉴权绕过
java·开发语言·安全
与遨游于天地1 小时前
Spring 的10个核心能力,对框架开发的启示
java·后端·spring