七、Spring Boot:初识与项目搭建

news/2025/2/26 20:17:07

深入解析 Spring Boot:初识与项目搭建

Spring Boot 是基于 Spring Framework 的开源 Java 基础框架,旨在简化 Spring 应用的开发过程。它通过“约定优于配置”的理念,极大地减少了开发中的配置工作,同时提供了“开箱即用”的功能,让开发者能够快速上手。本文将详细介绍 Spring Boot 的目标、如何使用 Spring Initializr 快速生成项目,以及项目的结构和配置文件的使用。


1. Spring Boot 的目标

1.1 简化 Spring 应用开发

Spring Boot 的核心目标是简化 Spring 应用的开发过程,具体体现在以下几个方面:

  1. 减少配置:Spring Boot 通过自动配置(Auto-Configuration)机制,根据项目依赖自动配置 Spring 和相关技术。例如,添加 spring-boot-starter-web 依赖后,Spring Boot 会自动配置 Tomcat 和 Spring MVC。
  2. 独立运行:Spring Boot 应用内嵌了 Tomcat、Jetty 等服务器,无需部署 WAR 文件,可以直接运行。
  3. 简化依赖管理:Spring Boot 提供了“Starters”(启动器),这些启动器封装了常用技术的依赖,开发者只需添加对应的启动器即可。
  4. 生产就绪:Spring Boot 提供了健康检查、指标收集、日志管理等生产级功能,帮助开发者更好地监控和管理应用。

1.2 适用场景

Spring Boot 适用于以下场景:

  • 快速开发:适合需要快速搭建和运行的项目。
  • 微服务架构:适合构建微服务架构,每个微服务可以独立开发和部署。
  • 简化配置:适合希望减少繁琐配置的项目。

2. 使用 Spring Initializr 快速生成项目

Spring Initializr 是一个在线工具,用于快速生成 Spring Boot 项目的骨架代码。它支持多种构建工具(如 Maven 和 Gradle)和多种语言(如 Java、Kotlin 和 Groovy)。

2.1 使用 Spring Initializr 的步骤

  1. 访问 Spring Initializr
    打开 Spring Initializr 网站。

  2. 选择项目配置

    • Project:选择构建工具(Maven 或 Gradle)。
    • Language:选择编程语言(Java、Kotlin 或 Groovy)。
    • Spring Boot Version:选择 Spring Boot 版本。
    • GroupArtifact:填写项目的 GroupId 和 ArtifactId。
    • Dependencies:选择项目需要的依赖(如 Spring Web、Spring Data JPA 等)。
  3. 生成项目
    点击“Generate”按钮,下载生成的项目压缩包。

  4. 解压并导入项目
    解压下载的压缩包,并使用 IDE(如 IntelliJ IDEA 或 Eclipse)导入项目。

2.2 示例:生成一个 Spring Boot Web 项目

假设我们需要生成一个包含 Spring Web 和 Spring Data JPA 的项目,具体步骤如下:

  1. 访问 Spring Initializr

  2. 选择项目配置

    • Project:Maven
    • Language:Java
    • Spring Boot Version:最新稳定版(如 3.1.0)
    • Group:com.example
    • Artifact:demo
    • Dependencies:选择“Spring Web”和“Spring Data JPA”
  3. 生成并下载项目

  4. 解压并导入项目

    • 解压下载的 demo.zip 文件。
    • 使用 IDE 导入项目,例如在 IntelliJ IDEA 中选择“Open”并选择解压后的项目目录。

3. Spring Boot 项目结构

Spring Boot 项目遵循 Maven 或 Gradle 的标准项目结构,以下是典型的项目结构:

demo/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com.example.demo/
│   │   │       ├── DemoApplication.java
│   │   │       └── controller/
│   │   │           └── HelloController.java
│   │   ├── resources/
│   │   │   ├── application.properties
│   │   │   └── static/
│   │   │       └── index.html
│   │   └── test/
│   │       └── java/
│   │           └── com.example.demo/
│   │               └── DemoApplicationTests.java
│   └── test/
│       └── java/
│           └── com.example.demo/
│               └── DemoApplicationTests.java
└── pom.xml

3.1 项目结构说明

  1. src/main/java

    • 存放项目的 Java 源代码。
    • 包含主程序入口类(如 DemoApplication)和业务逻辑代码(如控制器、服务层、数据访问层等)。
  2. src/main/resources

    • 存放项目的资源文件。
    • 包括配置文件(如 application.properties)、静态资源(如 HTML、CSS、JavaScript 文件)和模板文件(如 Thymeleaf 模板)。
  3. src/test/java

    • 存放项目的测试代码。
    • 包括单元测试和集成测试代码。
  4. pom.xml(Maven 项目)或 build.gradle(Gradle 项目):

    • 项目的构建配置文件,定义了项目的依赖、插件和构建生命周期。

4. application.properties 配置文件

application.properties 是 Spring Boot 的核心配置文件,用于配置应用的各种参数,如数据库连接、服务器端口、日志级别等。

4.1 配置示例

配置数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
配置服务器端口
server.port=8081
配置日志级别
logging.level.root=INFO
logging.level.org.springframework=DEBUG
启用 MyBatis 配置
mybatis.mapper-locations=classpath:mappers/*.xml
mybatis.type-aliases-package=com.example.model

4.2 配置文件的加载顺序

Spring Boot 支持多种配置文件,加载顺序如下:

  1. application.propertiesapplication.yml(位于 src/main/resources)。
  2. 环境变量(如 SPRING_DATASOURCE_URL)。
  3. 命令行参数(如 --server.port=8081)。

5. 第一个 Spring Boot 应用

接下来,我们将通过一个简单的示例来演示如何创建和运行一个 Spring Boot 应用。

5.1 创建项目

使用 Spring Initializr 生成一个包含 Spring Web 的项目,并导入到 IDE 中。

5.2 编写代码

主程序入口类
java">package com.example.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);
    }
}
控制器类
java">package com.example.demo.controller;

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

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

5.3 运行应用

运行 DemoApplication 类的 main 方法,启动 Spring Boot 应用。

访问 http://localhost:8080/hello,浏览器将显示:

Hello, Spring Boot!

6. 总结

Spring Boot 通过“约定优于配置”的理念,极大地简化了 Spring 应用的开发过程。通过 Spring Initializr,我们可以快速生成项目骨架代码,而项目的结构和 application.properties 配置文件则为开发者提供了灵活的配置选项。本文通过一个简单的示例演示了如何创建和运行一个 Spring Boot 应用,希望这些内容能帮助你更好地理解和使用 Spring Boot。

如果你对 Spring Boot 有更多问题,或者需要进一步的示例代码,欢迎随时交流!


http://www.niftyadmin.cn/n/5869136.html

相关文章

【视频2 - 4】初识操作系统,Linux,虚拟机

📝前言说明: ●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,主要跟随B站博主灵茶山的视频进行学习,专栏中的每一篇文章对应B站博主灵茶山的一个视频 ●题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。…

【第六节】C++设计模式(结构型模式)-Bridge(桥接)模式

目录 一、问题提出 二、桥接模式的结构与优势 三、桥接模式的实现 四、桥接模式的深入讨论 五、总结 一、问题提出 面向对象设计的核心原则 面向对象设计的核心可以总结为两点:松耦合(Coupling)和高内聚(Cohesion&am…

SSL 证书是 SSL 协议实现安全通信的必要组成部分

SSL证书和SSL/TLS协议有着密切的关系,但它们本质上是不同的概念。下面是两者的区别和它们之间的关系的表格: 属性SSL/TLS 协议SSL证书英文全称SSL(Secure Sockets Layer),TLS(Transport Layer Security&am…

【音视频】音视频录制、播放原理

一、音视频录制原理 通常,音视频录制的步骤如下图所示: 我们分别从音频和视频开始采样,通过麦克风和摄像头来接受我们的音频信息和图像信息,这通常是同时进行的,不过,通常视频的采集会比音频的采集慢&…

网络原理---HTTP/HTTPS

通过之前的网络编程,我们已经初步了解UDP和TCP的基本实现方法,接下来我们对其进一步的学习。 在网络编程中: 1.读和写数据通过Socket,通过Socket内置的InputStream和OutputStream(读写的基本单位都是字节)。2.当在编…

半导体芯片制造中 W CVD(钨化学气相沉积)

半导体芯片制造中 W CVD(钨化学气相沉积) 的 Nucleation 解析 在钨(W)化学气相沉积(CVD)工艺中,Nucleation(成核) 是沉积过程的初始阶段,指钨原子或分子在基…

Ollama辅助工具在思源笔记中的核心玩法助力实现AI高效创作

前言:在创作的道路上,找到合适的工具就像找到了一位贴心的好伙伴。思源笔记以其强大的编辑功能、灵活的整理方式和丰富的插件支持,成为了许多写作者的心头好。无论是记录闪现的灵感火花,还是撰写复杂的文档,它都能轻松…

基于STM32的智能工业生产线质量检测系统

1. 引言 传统工业质检依赖人工目检与抽样检测,存在效率低、漏检率高、标准不统一等问题。本文设计了一款基于STM32的智能工业生产线质量检测系统,通过机器视觉、多传感器融合与AI缺陷识别技术,实现产品全检自动化、缺陷分类精准化与质量追溯…