news 2026/4/22 22:08:32

Spring Boot从入门到实战:快速搭建企业级应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot从入门到实战:快速搭建企业级应用

一、Spring Boot 核心优势:为何成为开发者首选?

Spring Boot 是 Spring 生态的 “脚手架”,核心目标是简化配置、提高开发效率,相比传统 Spring 有 3 大核心优势:

  1. 自动配置(AutoConfiguration):根据依赖自动注入 Bean,无需手动编写 XML 或 Java 配置(如引入spring-boot-starter-web自动配置 Tomcat、Spring MVC);
  2. 起步依赖(Starter Dependencies):整合常用依赖(如spring-boot-starter-mybatis包含 MyBatis+Spring 整合所需所有 jar),避免版本冲突;
  3. 嵌入式服务器:内置 Tomcat、Jetty,无需部署 WAR 包,直接运行 JAR 文件;
  4. 无代码生成 + 零 XML 配置:纯 Java 配置,开箱即用。

二、环境准备(2024 最新版)

工具

版本要求

JDK

8/11/17(推荐 17,LTS 版本)

Maven/Gradle

Maven 3.6+ / Gradle 7.0+

IDE

IntelliJ IDEA 2022+ / Eclipse 2023+

Spring Boot

3.2.x(稳定版)

注意:Spring Boot 3.x 仅支持 JDK 17+,若使用 JDK 8 需选择 Spring Boot 2.7.x 版本。

三、快速搭建:第一个 Spring Boot 应用(3 种方式)

方式 1:Spring Initializr(推荐,可视化配置)
  1. 访问官网:https://start.spring.io/
  2. 配置参数:
    • Project:Maven/Gradle
    • Language:Java
    • Spring Boot:3.2.5
    • Group:com.example(包名)
    • Artifact:demo(项目名)
    • Dependencies:勾选「Spring Web」(web 开发核心依赖)
  1. 点击「Generate」下载压缩包,解压后用 IDEA 打开。
方式 2:IDEA 内置工具(更高效)
  1. 打开 IDEA → New Project → Spring Initializr
  2. 填写 Group/Artifact,选择 Spring Boot 版本和依赖(同方式 1)
  3. 点击 Finish,IDEA 自动下载依赖并创建项目。
方式 3:手动创建(理解底层结构)
  1. 新建 Maven 项目,在pom.xml中添加 Spring Boot 父依赖和 web 起步依赖:

统一管理版本和依赖 -->

<groupId>org.springframework.boot</groupId>

>spring-boot-starter-parent</artifactId>

<version>3.2.5 <relativePath/>

</parent>

依赖:自动引入Tomcat、Spring MVC等 -->

<dependencies>

<dependency>

<groupId>org.springframework.boot>

spring-boot-starter-web</artifactId>

>

将项目打包为可执行JAR -->

>

</groupId>

<artifactId>spring-boot-maven-plugin </plugin>

</plugins>

  1. 创建启动类(必须在所有业务类的父包下):

package com.example.demo;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

// 核心注解:包含@ComponentScan(扫描Bean)、@EnableAutoConfiguration(自动配置)

@SpringBootApplication

public class DemoApplication {

public static void main(String[] args) {

// 启动Spring Boot应用

SpringApplication.run(DemoApplication.class, args);

}

}

  1. 创建 Controller 测试:

package com.example.demo.controller;

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

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

// 等同于@Controller + @ResponseBody(返回JSON数据)

@RestController

public class HelloController {

// 接收GET请求,路径为/hello

@GetMapping("/hello")

public String hello() {

return "Hello Spring Boot 3.2!";

}

}

四、运行与测试

  1. 启动应用:右键DemoApplication→ Run(IDEA 会自动启动内置 Tomcat,默认端口 8080);
  2. 测试接口:
    • 浏览器访问:http://localhost:8080/hello
    • Postman 访问:GET 请求上述地址
  1. 成功响应:页面显示Hello Spring Boot 3.2!

五、实战进阶:整合核心组件(企业级常用)

1. 配置文件:application.yml(推荐,简洁易读)

Spring Boot 默认支持application.propertiesapplication.yml,推荐后者,在src/main/resources下创建:

# 服务器配置

server:

port: 8081 # 修改端口(避免冲突)

servlet:

context-path: /demo # 项目前缀(访问需加/demo)

# 自定义配置(可通过@Value注入)

app:

name: SpringBootDemo

version: 1.0.0

2. 整合 MyBatis(操作数据库)
  1. 添加依赖(pom.xml):

atis起步依赖 -->

<dependency>

>org.mybatis.spring.boot</groupId>

>mybatis-spring-boot-starter 0.3

</dependency>

MySQL驱动(Spring Boot 3.x需8.0+) -->

>

com.mysql

-connector-j

</scope>

>

  1. 配置数据库连接(application.yml):

spring:

datasource:

url: jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true

username: root

password: 123456

driver-class-name: com.mysql.cj.jdbc.Driver

# MyBatis配置

mybatis:

mapper-locations: classpath:mapper/*.xml # Mapper.xml文件路径

type-aliases-package: com.example.demo.entity # 实体类别名包

  1. 编写实体类、Mapper 接口和 XML 文件(示例略,核心是 MyBatis 的常规用法,Spring Boot 自动整合无需额外配置)。
3. 全局异常处理

创建全局异常处理器,统一捕获项目中的异常:

package com.example.demo.exception;

import org.springframework.web.bind.annotation.ExceptionHandler;

import org.springframework.web.bind.annotation.RestControllerAdvice;

import java.util.HashMap;

import java.util.Map;

// 全局异常处理:作用于所有@RestController

@RestControllerAdvice

public class GlobalExceptionHandler {

// 捕获RuntimeException

@ExceptionHandler(RuntimeException.class)

public Map, Object> handleRuntimeException(RuntimeException e) {

Map> result = new HashMap();

result.put("code", 500);

result.put("message", e.getMessage());

return result;

}

}

六、常见问题与解决方案

问题现象

解决方案

端口占用(Port 8080 in use)

1. 关闭占用端口的进程;2. 在 application.yml 中修改 server.port

依赖冲突(NoClassDefFoundError)

排除冲突依赖(如通过标签)或升级 Spring Boot 版本

自动配置失效

1. 检查依赖是否正确引入;2. 确保启动类在父包下(@ComponentScan 扫描范围)

数据库连接失败

1. 检查 MySQL 服务是否启动;2. 验证 url、用户名、密码是否正确

七、总结与扩展

Spring Boot 的核心是 “约定优于配置”,通过起步依赖和自动配置减少重复工作,让开发者专注于业务逻辑。本文仅覆盖基础用法,后续可扩展学习:

  1. 整合 Redis、RabbitMQ 等中间件;
  2. 配置 Spring Security 实现权限控制;
  3. 使用 Spring Boot Actuator 监控应用;
  4. 打包部署(Docker 容器化、云服务器部署)。

如果本文对你有帮助,欢迎点赞 + 收藏!有任何问题或补充,欢迎在评论区交流~

(注:文档部分内容可能由 AI 生成)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:05:08

智能编排如何让复杂系统集成从3周缩短到3小时?

在数字化转型浪潮中&#xff0c;企业系统集成的复杂度正以指数级增长。根据行业调研&#xff0c;超过75%的企业在集成项目中面临接口协议混乱、数据格式不统一、调试周期漫长等痛点。传统开发模式下&#xff0c;一个包含多系统交互的业务流程平均需要3周才能完成部署测试&#…

作者头像 李华
网站建设 2026/4/17 1:06:54

你真的会用Open-AutoGLM吗?5个关键指令90%用户从未接触

第一章&#xff1a;你真的会用Open-AutoGLM吗&#xff1f;5个关键指令90%用户从未接触许多用户仅将 Open-AutoGLM 视为普通的代码生成工具&#xff0c;却忽略了其深层的自动化能力。通过五个鲜为人知的关键指令&#xff0c;开发者可以显著提升开发效率、优化模型推理流程&#…

作者头像 李华
网站建设 2026/4/21 2:09:37

【AI 模型部署新突破】:安卓 14 手机启用 Open-AutoGLM 的3大核心技巧

第一章&#xff1a;安卓 14 手机适配 Open-AutoGLM 的设置指南 在安卓 14 系统上部署和运行 Open-AutoGLM 模型需要对系统权限、开发环境及应用配置进行针对性调整。以下步骤将指导开发者完成必要的设置&#xff0c;确保模型可在设备端稳定运行。 启用开发者选项与 USB 调试 …

作者头像 李华
网站建设 2026/4/19 21:39:08

如何免费获取并运行AutoGLM-Phone-9B?这份模型下载指南必须收藏

第一章&#xff1a;Open-AutoGLM AutoGLM-Phone-9B 模型下载安装在本地部署 Open-AutoGLM 的 AutoGLM-Phone-9B 模型前&#xff0c;需确保系统环境满足基本要求。该模型适用于边缘设备上的轻量化推理任务&#xff0c;支持 CPU 与 GPU 混合计算&#xff0c;推荐配置至少 16GB 内…

作者头像 李华
网站建设 2026/4/16 12:42:02

FaceFusion如何实现眼部微表情传递?眨眼细节保留技巧

FaceFusion如何实现眼部微表情传递&#xff1f;眨眼细节保留技巧 在影视级数字人制作和AI内容生成领域&#xff0c;一个看似微小却极其关键的挑战浮出水面&#xff1a;如何让换脸后的人物真正“活”起来&#xff1f; 答案往往藏在最不起眼的细节里——一次自然的眨眼、一缕轻微…

作者头像 李华