码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • spring boot3单模块项目工程搭建-下(个人开发模板)


    ⛰️个人主页:     蒾酒

    🔥系列专栏:《spring boot实战》

    🌊山高路远,行路漫漫,终有归途


    目录

    写在前面

    上文衔接

    常用依赖介绍以及整合

    web组件

    测试组件

    样板代码生成

    数据库连接器

    常用工具包

    面向切面编程

    ORM框架

    数据连接池

    接口测试、文档导出

    缓存中间件

    参数校验

    认证鉴权

    基础功能完善

    跨域问题解决

    统一数据返回格式

    自定义业务异常捕获处理

     拦截器链

    写在最后


    写在前面

    本文介绍了springboot开发后端服务,单模块项目工程搭建。单模块搭建出完会出多模块项目搭建。坚持看完相信对你有帮助。

    同时欢迎订阅springboot系列专栏,持续分享spring boot的使用经验。

    上文衔接

    上文已经把基本目录结构搭建完成本文来整合一下常用依赖以及完善一些基础功能。

    上文链接:

    spring boot3单模块项目工程搭建-上(个人开发模板)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/138050959?spm=1001.2014.3001.5501

    常用依赖介绍以及整合

    web组件

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-webartifactId>
    4. 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的自动配置模块等。

    测试组件

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-testartifactId>
    4. <scope>testscope>
    5. dependency>

    spring-boot-starter-test 是 Spring Boot 提供的一个用于测试的起步依赖,它集成了多种测试工具和库,使得开发者可以方便地对 Spring Boot 应用进行单元测试和集成测试。通过这个依赖,开发者无需单独配置每一个测试相关的库,简化了测试环境的搭建。

    样板代码生成

    1. <dependency>
    2. <groupId>org.projectlombokgroupId>
    3. <artifactId>lombokartifactId>
    4. <optional>trueoptional>
    5. 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 字段来进行日志记录,无需手动创建日志记录器对象。

    数据库连接器

    1. <dependency>
    2. <groupId>com.mysqlgroupId>
    3. <artifactId>mysql-connector-jartifactId>
    4. <version>8.2.0version>
    5. <scope>runtimescope>
    6. dependency>

    这个依赖项是用于在 Java 应用程序中连接和操作 MySQL 数据库的 JDBC 驱动程序。另外在整合各种ORM框架(mybatis-mybatis-plus)这些框架都依赖这个JDBC 驱动程序。

    常用工具包

    1. <dependency>
    2. <groupId>cn.hutoolgroupId>
    3. <artifactId>hutool-allartifactId>
    4. <version>5.8.25version>
    5. dependency>

    Hutool 是一个 Java 工具包,提供了丰富的功能来简化 Java 开发中的常见任务。hutool-all 这个模块包含了 Hutool 提供的所有功能,主要包括但不限于以下几个方面:

    • 字符串处理:包括字符串的切割、拼接、替换、格式化等操作。
    • 日期时间处理:提供了日期时间的格式化、解析、计算、时间间隔等功能。
    • 加密解密:支持常见的加密算法,包括 MD5、SHA、AES、RSA 等。
    • 文件操作:提供了文件的读写、复制、移动、压缩、解压等功能。
    • HTTP 客户端:支持 HTTP 请求的发送和接收,包括 GET、POST 等方法。
    • 邮件发送:支持邮件的发送和接收,包括 SMTP 协议的使用。
    • 图片处理:支持图片的缩放、裁剪、水印、压缩等操作。
    • Excel 操作:支持 Excel 文件的读写、导入导出、样式设置等功能。
    • PDF 操作:支持 PDF 文件的读写、合并、拆分等操作。
    • JSON 解析:支持 JSON 字符串的解析和生成。
    • 常用工具类:提供了各种常用的工具类,包括数组操作、集合操作、反射工具等。

    面向切面编程

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-aopartifactId>
    4. dependency>

    这个依赖项是用于在 Spring Boot 应用程序中启用面向切面编程(AOP)的功能的。

    AOP 是一种编程范式,允许开发者在程序运行期间动态地将代码切入到现有方法中,实现横切关注点的重用和集中管理,例如日志记录、事务管理、安全性检查等

    ORM框架

    详情见这篇:

    Spring Boot3整合MyBatis Plus_springboot3整合mybatis-plus-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/135734561?spm=1001.2014.3001.5502

    数据连接池

    详情见这篇:

    Spring Boot3整合Druid(监控功能)_springboot3 druid-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/135738692?spm=1001.2014.3001.5502

    接口测试、文档导出

    详情见这篇:

    Spring Boot3整合knife4j(swagger3)_springboot3 knife4j-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/135761392?spm=1001.2014.3001.5502

    缓存中间件

    详情见这篇:

    Spring Boot3整合Redis_springboot3整合redis-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/136067550?spm=1001.2014.3001.5502

    参数校验

    详情见这篇:

    spring boot3参数校验基本用法_springboot3使用校验类注解-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/136180252?spm=1001.2014.3001.5502

    认证鉴权

    详情见这篇:

    spring boot3登录开发-1(整合jwt)_spring boot 3.x 整合jwt-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/135964626?spm=1001.2014.3001.5502

    基础功能完善

    跨域问题解决

    详情见这篇:

    spring boot3解决跨域的几种方式_springboot3 跨域-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/136334332?spm=1001.2014.3001.5502

    统一数据返回格式

    详情见这篇:

    Spring Boot3统一结果封装_spring boot结果集封装-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/136075039?spm=1001.2014.3001.5502

    自定义业务异常捕获处理

    详情见这篇:

    Spring Boot3自定义异常及全局异常捕获_springboot是如何自定义异常并捕获的-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/136110267?spm=1001.2014.3001.5502

     拦截器链

    spring boot3token拦截器链的设计与实现_springboot3 拦截器-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/136143401?spm=1001.2014.3001.5502

    写在最后

    spring boot3单模块项目工程搭建常用依赖整合和基础功能完善到这里就结束了,任何问题评论区或私信讨论,欢迎指正。

  • 相关阅读:
    Linux scp命令
    buuctf(探险1)
    sharding-jdbc读写分离
    EasyExcel使用方式(包含导出图片)
    STM32 CAN总线通讯
    YAML 语法简介与 C# 操作示例
    十四、Java String 类
    Stable Diffusion 本地部署教程
    CMMI可以直接办理五级吗?
    美国海运价格,美国专线直达怎么收费?
  • 原文地址:https://blog.csdn.net/qq_62262918/article/details/138174111
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号