⛰️个人主页: 蒾酒
🔥系列专栏:《spring boot实战》
目录
写在前面
上文衔接
常用依赖介绍以及整合
web组件
测试组件
样板代码生成
数据库连接器
常用工具包
面向切面编程
ORM框架
数据连接池
接口测试、文档导出
缓存中间件
参数校验
认证鉴权
基础功能完善
跨域问题解决
统一数据返回格式
自定义业务异常捕获处理
拦截器链
写在最后
写在前面
本文介绍了springboot开发后端服务,单模块项目工程搭建。坚持看完相信对你有帮助。
同时欢迎订阅springboot系列专栏,持续分享spring boot的使用经验。
上文衔接
上文已经把基本目录结构搭建完成本文来整合一下常用依赖以及完善一些基础功能。
上文链接:
spring boot3单模块项目工程搭建-上(个人开发模板)-CSDN博客https://blog.csdn.net/qq_62262918/article/details/138050959?spm=1001.2014.3001.5501
常用依赖介绍以及整合
web组件
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
spring-boot-starter-web
是 Spring Boot 提供的一个起步依赖,用于快速构建基于 Spring MVC 的 Web 应用程序。通过引入这个依赖,你可以快速地搭建一个Web应用程序,并且使用Spring Boot的自动配置功能,简化了配置和部署的过程。
这个起步依赖包括了以下几个主要模块:
- Spring MVC:提供了一个基于MVC(Model-View-Controller)模式的Web框架,用于处理HTTP请求和响应。
- Tomcat:内嵌的Servlet容器,可以使你的应用程序在不需要单独部署容器的情况下运行。
- Spring Web:Spring框架中的Web模块,提供了一些基本的Web开发功能,比如处理请求和响应、数据绑定、数据验证等。
- 其他相关依赖:还包括了一些其他相关的依赖,比如Jackson(用于JSON序列化和反序列化)、Spring Boot的自动配置模块等。
测试组件
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
spring-boot-starter-test
是 Spring Boot 提供的一个用于测试的起步依赖,它集成了多种测试工具和库,使得开发者可以方便地对 Spring Boot 应用进行单元测试和集成测试。通过这个依赖,开发者无需单独配置每一个测试相关的库,简化了测试环境的搭建。
样板代码生成
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>
lombok
库,它通过在 Java 类中添加注解来自动化生成样板代码,从而简化代码编写过程。
主要功能:
-
自动生成 Getters 和 Setters:通过在类上添加
@Getter
和@Setter
注解,可以自动生成属性的 Getter 和 Setter 方法,减少了样板代码的编写。 -
自动生成构造函数:通过
@NoArgsConstructor
、@RequiredArgsConstructor
和@AllArgsConstructor
注解,可以自动生成无参构造函数、带有必填参数的构造函数和包含所有参数的构造函数。 -
自动生成
toString()
方法:通过@ToString
注解,可以自动生成toString()
方法,方便输出对象的字符串表示。 -
自动生成
equals()
和hashCode()
方法:通过@EqualsAndHashCode
注解,可以自动生成equals()
和hashCode()
方法,方便对象之间的比较。 -
自动生成
@Builder
方法:通过@Builder
注解,可以使用 Builder 模式来创建对象,简化对象的构建过程。 -
自动生成
@Data
注解:@Data
注解包含了@Getter
、@Setter
、@EqualsAndHashCode
和@ToString
注解的功能,可以一次性生成这些方法。 -
自动生成
@Slf4j
注解:通过@Slf4j
注解,可以自动生成日志记录器,在类中直接使用log
字段来进行日志记录,无需手动创建日志记录器对象。
数据库连接器
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.2.0</version><scope>runtime</scope></dependency>
这个依赖项是用于在 Java 应用程序中连接和操作 MySQL 数据库的 JDBC 驱动程序。另外在整合各种ORM框架(mybatis-mybatis-plus)这些框架都依赖这个JDBC 驱动程序。
常用工具包
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.25</version></dependency>
Hutool 是一个 Java 工具包,提供了丰富的功能来简化 Java 开发中的常见任务。hutool-all
这个模块包含了 Hutool 提供的所有功能,主要包括但不限于以下几个方面:
- 字符串处理:包括字符串的切割、拼接、替换、格式化等操作。
- 日期时间处理:提供了日期时间的格式化、解析、计算、时间间隔等功能。
- 加密解密:支持常见的加密算法,包括 MD5、SHA、AES、RSA 等。
- 文件操作:提供了文件的读写、复制、移动、压缩、解压等功能。
- HTTP 客户端:支持 HTTP 请求的发送和接收,包括 GET、POST 等方法。
- 邮件发送:支持邮件的发送和接收,包括 SMTP 协议的使用。
- 图片处理:支持图片的缩放、裁剪、水印、压缩等操作。
- Excel 操作:支持 Excel 文件的读写、导入导出、样式设置等功能。
- PDF 操作:支持 PDF 文件的读写、合并、拆分等操作。
- JSON 解析:支持 JSON 字符串的解析和生成。
- 常用工具类:提供了各种常用的工具类,包括数组操作、集合操作、反射工具等。
面向切面编程
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId>
</dependency>
这个依赖项是用于在 Spring Boot 应用程序中启用面向切面编程(AOP)的功能的。
AOP 是一种编程范式,允许开发者在程序运行期间动态地将代码切入到现有方法中,实现横切关注点的重用和集中管理,例如日志记录、事务管理、安全性检查等
ORM框架
详情见这篇:
Spring Boot3整合MyBatis Plus_springboot3整合mybatis-plus-CSDN博客https://blog.csdn.net/qq_62262918/article/details/135734561?spm=1001.2014.3001.5502
数据连接池
详情见这篇:
Spring Boot3整合Druid(监控功能)_springboot3 druid-CSDN博客https://blog.csdn.net/qq_62262918/article/details/135738692?spm=1001.2014.3001.5502
接口测试、文档导出
详情见这篇:
Spring Boot3整合knife4j(swagger3)_springboot3 knife4j-CSDN博客https://blog.csdn.net/qq_62262918/article/details/135761392?spm=1001.2014.3001.5502
缓存中间件
详情见这篇:
Spring Boot3整合Redis_springboot3整合redis-CSDN博客https://blog.csdn.net/qq_62262918/article/details/136067550?spm=1001.2014.3001.5502
参数校验
详情见这篇:
spring boot3参数校验基本用法_springboot3使用校验类注解-CSDN博客https://blog.csdn.net/qq_62262918/article/details/136180252?spm=1001.2014.3001.5502
认证鉴权
详情见这篇:
spring boot3登录开发-1(整合jwt)_spring boot 3.x 整合jwt-CSDN博客https://blog.csdn.net/qq_62262918/article/details/135964626?spm=1001.2014.3001.5502
基础功能完善
跨域问题解决
详情见这篇:
spring boot3解决跨域的几种方式_springboot3 跨域-CSDN博客https://blog.csdn.net/qq_62262918/article/details/136334332?spm=1001.2014.3001.5502
统一数据返回格式
详情见这篇:
Spring Boot3统一结果封装_spring boot结果集封装-CSDN博客https://blog.csdn.net/qq_62262918/article/details/136075039?spm=1001.2014.3001.5502
自定义业务异常捕获处理
详情见这篇:
Spring Boot3自定义异常及全局异常捕获_springboot是如何自定义异常并捕获的-CSDN博客https://blog.csdn.net/qq_62262918/article/details/136110267?spm=1001.2014.3001.5502
拦截器链
spring boot3token拦截器链的设计与实现_springboot3 拦截器-CSDN博客https://blog.csdn.net/qq_62262918/article/details/136143401?spm=1001.2014.3001.5502
写在最后
spring boot3单模块项目工程搭建常用依赖整合和基础功能完善到这里就结束了,任何问题评论区或私信讨论,欢迎指正。