一个完整的springboot项目,我们还需要做什么

文章目录

  • [一 从0创建Srpingboot项目](#一 从0创建Srpingboot项目)
    • [1.1 启动springboot项目](#1.1 启动springboot项目)
    • [1.2 导入必要的依赖](#1.2 导入必要的依赖)
  • 二、还缺什么
    • [2.1 统一异常捕获](#2.1 统一异常捕获)
    • [2.2 统一MVC返回](#2.2 统一MVC返回)
    • [2.3 数据分层](#2.3 数据分层)
    • [2.4 连接数据库模块](#2.4 连接数据库模块)
    • [2.5 放置常量和工具类](#2.5 放置常量和工具类)
    • [2.6 基础controller、基础entity、query查询类](#2.6 基础controller、基础entity、query查询类)
    • [2.7 为了方便处理异常,一般还可以入参打印、出参打印](#2.7 为了方便处理异常,一般还可以入参打印、出参打印)
    • [2.8 集成swagger方便接口查看调用](#2.8 集成swagger方便接口查看调用)
  • 三、完整项目还缺什么
    • [3.1 鉴权模块](#3.1 鉴权模块)
    • [3.2 数据缓存模块](#3.2 数据缓存模块)
    • [3.3 图片处理模块](#3.3 图片处理模块)
    • [3.3 定时模块](#3.3 定时模块)
    • [3.4 代码生成模块](#3.4 代码生成模块)
  • 四、后记

本人从事java web项目开发多年,跟大家分享一下一些心得,原创不易,希望对大家有所帮助

一 从0创建Srpingboot项目

我们从0开始创建Springboot,一般都需要选择Springboot的版本,因为Springboot的版本一年好几个更新,我们通常在 https://start.spring.io 上,选择我们要的版本,以及开启启动的start依赖,即可把一个springboot项目搭建起来

1.1 启动springboot项目

https://start.spring.io 选择需要的依赖,确定之后就是一个最基础的springboot项目了。

我们用IDEA打开项目,启动之后,就可以使用了。

现在springboot版本已经更新到3.x以上了,旧的springboot版本已经在这个里面找不到了

虽然官方推荐用最新的版本,但是对于springcloud的适配非常不友好,尤其是jdk必须更新到17,也是让新手接触springboot感觉比较困惑的地方

我个人建议,刚刚开始,还是用官方推荐用的最新版本。到工作后,最好用公司统一的版本,一般公司如果非特殊,是不会随便更新公司的版本的

1.2 导入必要的依赖

Springboot如果想要单体使用,一般只需要导入mvc模块就行了

如果使用Springcloud之后,还可以选择需要导入特定Springcloud依赖

二、还缺什么

很久之前,在使用springboot的时候,一直强调,约定大于配置,也就是说,有些约定俗成的东西,就尽量不要去违背,违背了虽然也没有关系,但是会导致大部分情况下,这些代码只有你自己能进行维护,其他人阅读起来很是困难。

以下我列举了一些大部分项目需要统一的跟大家分享,希望阅读的人可以从中得到启发,增进项目的高效使用。

2.1 统一异常捕获

使用springboot统一异常捕获

2.2 统一MVC返回

封装JsonResult

2.3 数据分层

controller - service - mapper

如果是mybatis-plus还可以考虑使用 face 层

2.4 连接数据库模块

一般选择 mybatis-plus

2.5 放置常量和工具类

创建文件夹

复制代码
constant 
util

2.6 基础controller、基础entity、query查询类

为了复用性更强

2.7 为了方便处理异常,一般还可以入参打印、出参打印

使用切面的方式处理

2.8 集成swagger方便接口查看调用

方便接口的查看,以及跟前端进行信息交互

三、完整项目还缺什么

3.1 鉴权模块

shiro

security

3.2 数据缓存模块

引用中间件redis

3.3 图片处理模块

引用中间件

复制代码
存本地路径
存数据库
存nginx
存minio
存mongodb

3.3 定时模块

springboot内置的cron

quart

3.4 代码生成模块

为了方便使用,一般都会集成一个代码生成模块

freemarker

四、后记

一个相对完整的项目,是需要考虑很多东西的,虽然每个项目各有各的不同,但是大部分都是有共通的地方,也就说大家所说的,大同小异。

从0开始搭建springboot项目,对于大部分人还是有一点点难度的,对于了解其中原理,或查看其他人项目,又或者解决bug,都是大有裨益的。

如果觉得太麻烦,又想快速搭建一个后端项目,可以直接在github/gitee 参考开源项目来使用,例如以下项目:

复制代码
1 Guns
2 pig
3 RuoYi
4 Jeecg-boot
5 iBase4j

但是大部分情况下,如果直接使用开源项目,会发现很多东西就会很臃肿,还是有一些要注意的地方,注意得好,才开源更好的驾驭这个框架。

所以建议使用开源项目的时候,一定要去对应的官网仔细进行阅读,在里面进行答疑解惑,才是用好脚手架的必经之路。

相关推荐
用户4822137167757 分钟前
C++——纯虚函数、抽象类
后端
张同学的IT技术日记18 分钟前
必看!用示例代码学 C++ 基础入门,快速掌握基础知识,高效提升编程能力
后端
UserNamezhangxi26 分钟前
kotlin 协程笔记
java·笔记·kotlin·协程
林太白26 分钟前
Nuxt3 功能篇
前端·javascript·后端
咖啡里的茶i35 分钟前
数字化图书管理系统设计实践(java)
java·课程设计
得物技术1 小时前
营销会场预览直通车实践|得物技术
后端·架构·测试
九转苍翎1 小时前
Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
java·thread
曲莫终1 小时前
正则表达式删除注释和多余换航
java·kotlin
Ice__Cai1 小时前
Flask 入门详解:从零开始构建 Web 应用
后端·python·flask·数据类型
武子康1 小时前
大数据-74 Kafka 核心机制揭秘:副本同步、控制器选举与可靠性保障
大数据·后端·kafka