当前位置: 首页 > news >正文

SpringBoot3-从环境搭建到异常处理的完整指南

前言

SpringBoot作为Java领域最流行的微服务框架,其3.0版本带来了许多令人兴奋的新特性。本文将详细介绍如何从零开始搭建一个SpringBoot3项目,并实现常见的开发需求,包括Maven配置、Web开发、异常处理等核心功能。

一、开发环境准备

1.1 软件要求

  • IDEA: 2023及以上版本(推荐使用IntelliJ IDEA Ultimate)

  • Maven: 3.6.3及以上版本

  • JDK: 21(SpringBoot3要求至少JDK17)

  • 前置知识: JavaSE、JavaWeb基础

1.2 环境验证

安装完成后,请确保在命令行中能正确执行以下命令:

bash

复制

下载

java -version
mvn -v

二、创建SpringBoot3工程

2.1 通过IDEA创建项目

  1. 打开IDEA,选择"New Project"

  2. 选择"Spring Initializr"

  3. 配置项目基本信息:

    • Group: com.black

    • Artifact: black

    • Type: Maven

    • Java版本: 21

2.2 核心Maven配置

以下是项目的基础POM文件配置:

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.0.0</version> <!-- 注意这里改为3.0.0 --><relativePath/></parent><!-- 其他配置保持不变 -->
</project>

重要变更点

  • 将SpringBoot版本从2.7.9升级到3.0.0

  • 确保Java版本设置为21

三、Web开发基础

3.1 内置Tomcat

SpringBoot内置了Tomcat服务器,无需额外配置即可运行Web应用:

java

复制

下载

@RestController
@RequestMapping("/api")
public class TestController {@RequestMapping("/test")public Res test(@RequestBody User user) {return Res.success();}
}

3.2 统一响应封装

推荐使用统一的响应格式,便于前端处理:

java

复制

下载

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Res {private String code;private String message;private Object data;public static Res success() {return new Res(Constants.CODE_200, "", null);}public static Res success(Object data) {return new Res(Constants.CODE_200, "", data);}public static Res error() {return new Res(Constants.CODE_500, "系统错误", null);}public static Res error(String code, String message) {return new Res(code, message, null);}
}

四、高级配置

4.1 WebMvc配置

实现拦截器配置和资源放行:

java

复制

下载

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(jwtInterceptor()).addPathPatterns("/**").excludePathPatterns("/auth/login","/auth/register","/swagger**/**","/webjars/**","/v2/**","/doc.html");}@Beanpublic JWTInterceptor jwtInterceptor() {return new JWTInterceptor();}
}

4.2 阿里云Maven仓库配置

加速依赖下载:

xml

复制

下载

运行

<repositories><repository><id>nexus-aliyun</id><name>nexus-aliyun</name><url>https://maven.aliyun.com/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository>
</repositories>

五、异常处理机制

5.1 全局运行时异常处理

java

复制

下载

@ControllerAdvice("com.black.controller")
public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)@ResponseBodypublic Res handleException(Exception e) {e.printStackTrace();return Res.error();}
}

5.2 自定义业务异常

  1. 定义异常类:

java

复制

下载

@Getter
public class ServiceException extends RuntimeException {private final String code;public ServiceException(String code, String message) {super(message);this.code = code;}
}
  1. 异常处理器:

java

复制

下载

@ControllerAdvice
public class BusinessExceptionHandler {@ExceptionHandler(ServiceException.class)@ResponseBodypublic Res handleServiceException(ServiceException e) {return Res.error(e.getCode(), e.getMessage());}
}
  1. 使用示例:

java

复制

下载

@GetMapping("/user/{id}")
public Res getUser(@PathVariable Long id) {User user = userService.findById(id);if (user == null) {throw new ServiceException("404", "用户不存在");}return Res.success(user);
}

六、常用依赖说明

6.1 核心依赖

  • Web开发spring-boot-starter-web

  • 数据库:

    • mybatis-spring-boot-starter

    • spring-boot-starter-data-redis

  • 工具类hutool-all

6.2 辅助工具

  • JSON处理:

    • gson

    • fastjson

  • HTTP客户端:

    • okhttp

    • httpclient

  • 文档生成springfox-boot-starter

七、项目启动与测试

  1. 创建主启动类:

java

复制

下载

@SpringBootApplication
public class BlackApplication {public static void main(String[] args) {SpringApplication.run(BlackApplication.class, args);}
}
  1. 测试Controller:

java

复制

下载

@RestController
@RequestMapping("/test")
public class TestController {@GetMapping("/exception")public Res testException() {int i = 1 / 0; // 触发算术异常return Res.success();}@GetMapping("/business")public Res testBusiness() {throw new ServiceException("400", "业务异常示例");}
}

结语

本文详细介绍了SpringBoot3项目的搭建过程和核心功能实现。通过合理的项目结构设计和统一的异常处理机制,可以大大提高项目的可维护性和开发效率。SpringBoot3在性能、安全性和易用性方面都有显著提升,是开发现代Java Web应用的理想选择。

希望本文能帮助您快速上手SpringBoot3开发,如有任何问题,欢迎在评论区留言讨论!

相关文章:

  • ZC-OFDM雷达通信一体化减小PAPR——选择性映射法(SLM)
  • Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤
  • Ubuntu使用说明
  • Unity3D仿星露谷物语开发58之保存时钟信息到文件
  • IEEE P370:用于高达 50 GHz 互连的夹具设计和数据质量公制标准
  • 多目标粒子群优化算法(MOPSO),用于解决无人机三维路径规划问题,Matlab代码实现
  • python学习day34
  • Asp.Net Core SignalR的协议协商问题
  • 2.1HarmonyOS NEXT开发工具链进阶:DevEco Studio深度实践
  • 自动驾驶系列—Monocular 3D Lane Detection for Autonomous Driving
  • “粽”览全局:分布式系统架构与实践深度解析(端午特别版)
  • 打卡day41
  • 2025-05-31 Python深度学习9——网络模型的加载与保存
  • Mybatis-Plus简单介绍
  • 深入探讨redis:主从复制
  • Flutter - 原生交互 - 相机Camera - 01
  • 快速掌握 GO 之 RabbitMQ
  • 【iOS】方法交换
  • c/c++的opencv车牌识别
  • MATLAB实现井字棋
  • 网站开发项目的设计与实现/seo建站还有市场吗
  • 手机网站与pc网站同步/网络优化工程师前景如何
  • 长沙网站建设1681989/北京百度seo服务
  • b2c交易平台/江西网络推广seo
  • 宏志建设有限公司网站/最近一周新闻热点回顾
  • 邢台专业网站建设公司推荐/开封网站快速排名优化