news 2026/4/18 5:12:49

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/18 5:09:23

15分钟玩转PostgreSQL可视化管理:从零到精通的实用指南

还在为复杂的PostgreSQL命令行操作而头疼吗&#xff1f;PostgreSQL可视化管理工具为你提供了一个直观的Web界面&#xff0c;让数据库管理变得像使用智能手机一样简单。无论你是数据库初学者还是经验丰富的开发者&#xff0c;这篇文章将带你快速掌握这个强大的数据库可视化工具。…

作者头像 李华
网站建设 2026/3/26 23:45:24

WordPress插件授权缺失漏洞:CVE-2025-14003技术分析

CVE-2025-14003: CWE-862 wpchill Image Gallery – Photo Grid & Video Gallery插件中的授权缺失漏洞 严重性&#xff1a;中等 类型&#xff1a;漏洞 CVE编号&#xff1a;CVE-2025-14003 WordPress的Image Gallery – Photo Grid & Video Gallery插件在所有版本至2.13…

作者头像 李华
网站建设 2026/4/14 6:11:41

【安卓自动化新纪元】:非Root手机启用Open-AutoGLM的7大技巧

第一章&#xff1a;Open-AutoGLM在非Root环境下的可行性分析 在边缘计算和终端AI推理日益普及的背景下&#xff0c;Open-AutoGLM作为一款轻量级自动化语言模型推理框架&#xff0c;其部署灵活性成为关键考量因素。尤其在企业或教育机构的共享计算环境中&#xff0c;用户往往无法…

作者头像 李华
网站建设 2026/4/12 6:51:07

语音驱动动画实战指南:从零打造你的AI数字人

语音驱动动画实战指南&#xff1a;从零打造你的AI数字人 【免费下载链接】SadTalker [CVPR 2023] SadTalker&#xff1a;Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation 项目地址: https://gitcode.com/GitHub_T…

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

【大模型安全新选择】:Open-AutoGLM离线模式配置的7个关键步骤

第一章&#xff1a;Open-AutoGLM离线模式的核心价值在数据安全与隐私保护日益重要的今天&#xff0c;Open-AutoGLM的离线模式为本地化部署和私有环境下的大模型应用提供了关键支撑。该模式允许用户在无互联网连接的环境中完整运行模型推理、任务调度与自动化流程&#xff0c;确…

作者头像 李华
网站建设 2026/4/16 5:13:24

Windows 11部署Open-AutoGLM全解析,避坑指南与性能调优秘诀

第一章&#xff1a;Windows 11部署Open-AutoGLM全解析概述在人工智能与自动化办公深度融合的背景下&#xff0c;Open-AutoGLM作为一款基于开源大语言模型的任务自动化工具&#xff0c;正逐步成为个人与企业提升效率的重要选择。本章聚焦于如何在Windows 11操作系统环境下完成Op…

作者头像 李华