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

相关推荐
Deamon Tree2 小时前
【设计题】如何实现一个线程安全的缓存?
java·spring boot·spring
毕设源码-钟学长2 小时前
【开题答辩全过程】以 基于Java的相机专卖网的设计与实现为例,包含答辩的问题和答案
java·开发语言
CodeAmaz2 小时前
Zookeeper 分布式锁实战版
java·分布式·后端·zookeeper
海域云SeaArea_2 小时前
CentOS7 单机安装 Zookeeper 3.5.8(JDK 1.8 环境)
java·zookeeper·java-zookeeper
后端小张2 小时前
【JAVA 进阶】SpringAI人工智能框架深度解析:从理论到实战的企业级AI应用开发指南
java·开发语言·人工智能
麦烤楽鸡翅3 小时前
小红书推荐系统(牛客)
java·python·算法·秋招·春招·牛客·面试算法题
java水泥工3 小时前
大学城水电管理系统|基于SpringBoot和Vue的大学城水电管理系统(源码+数据库+文档)
spring boot·vue·计算机毕业设计·大学生毕业设计·水电管理系统
星光一影3 小时前
基于Spring Boot电子签平台,实名认证+CA证书
大数据·spring boot·开源·vue·html5
C++业余爱好者3 小时前
.NET线程池ThreadPool.QueueUserWorkItem
java·数据库·.net