# Spring-boot2.x
**Repository Path**: lhwgit/Spring-boot2.x
## Basic Information
- **Project Name**: Spring-boot2.x
- **Description**: 极力推荐!!(全面适配Spring boot2.7.6版)基于Spring boot框架搭建的架构模板,一个可直接上手开发的轻量化架构模板。
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-01-27
- **Last Updated**: 2025-01-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Spring boot模板(高度适配Spring boot2.7.6版)
## 0.导读
此模板目前已集成的模块如下:(已移除大量依赖,最小化安装)
* 初级配置:
* ~~Swagger(图形化测试工具)~~
* Mybatis-plus(Mybatis的增强工具)
* ~~Redis(非关系型数据库)~~
* ~~ObjectStorage(对象存储服务)~~
* ~~中级配置:~~
* ~~Aop(切面)~~
* ~~Transactional(事务)~~
* ~~Scheduled(定时器)~~
* ~~Interceptor(拦截器)~~
* ~~高级配置:~~
* ~~RabbitMq(消息中间件)~~
目录结构如下:
```markdown
com.springboot.framework
├── annotation //注解包
| └── ......
├── aop //切面类包
| └── ......
├── config //配置类包
| ├── model
| | └── ......
| └── ......
├── constant //常量包
| └── ......
├── controller //控制器层
| ├── request
| | └── ......
| └── ......
├── dao //数据访问对象层
| ├── mapper
| | └── ......
| └── pojo
| | └── ......
├── dto //数据传输对象包【已移除】
| └── ......
├── exception //异常类包
| └── ......
├── interceptor //拦截器包
| └── ......
├── service //服务层
| ├── impl
| | └── ......
| └── ......
├── utils //工具类包
| └── ......
├── vo //值对象包
| └── ......
└── ProjectApplication
```
## 1.开始使用
1. 请先确认已在本地配置MySQL服务、Redis服务
2. 使用idea导入项目
## 2.创建数据表
* 方式一:使用图形化工具创建(以Navicat为例)admin表,结构如下:
| 名称 | 类型 | 长度| 小数点 | 不是null | 虚拟| 键 | 注释|
|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|
| id | int | 11| 0 | √ | | 🔑1 | ID号|
| account | varchar | 16| 0 | √ | | | 账号|
| password | varchar | 32| 0 | √ | | | 密码|
| phone | varchar | 11| 0 | √ | | | 手机号|
| name | varchar | 16| 0 | √ | | | 姓名|
| create_by | varchar | 64| 0 | | | | 创建者|
| create_date | timestamp | 0| 0 | | | | 创建时间|
| update_by | varchar | 64| 0 | | | | 修改者|
| update_date | timestamp | 0| 0 | | | | 修改时间|
| status | tinyint | 1| 0 | √ | | | 状态,-1删除,0禁用,1正常|
> 特别注意:
> + id->√自动递增
> + create_date->默认:CURRENT_TIMESTAMP
> + update_date->默认:CURRENT_TIMESTAMP√根据当前时间戳更新
> + status->默认:1
------------------------------------
* 方式二:使用SQL查询语句创建admin表,如下:
```mysql
DROP TABLE IF EXISTS `sys_admin`;
CREATE TABLE `sys_admin` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`account` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
`password` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号',
`name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
`create_date` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改者',
`update_date` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态,-1已删除,0禁用,1正常',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '管理员表' ROW_FORMAT = Dynamic;
```
## 3.配置redis
此模板中redis仅用于保存用户登录token值和用户信息。
1. 下载并安装redis到本地,浏览器输入[https://github.com/microsoftarchive/redis/releases](https://github.com/microsoftarchive/redis/releases)。选择最新版msi文件下载并安装。
2. 启动redis服务
3. (可选)下载redis图形化工具,方便查看记录。
> redis非必需,若不需要做权限校验,可在拦截器中加入访问url,或在控制器中为对应方法添加@ACS注解(不建议)。
## 4.启动项目
运行com.springboot.framework包下启动类ProjectApplication
## 5.测试接口
项目启动后在浏览器输入[http://localhost:8088/swagger-ui.html](http://localhost:8088/swagger-ui.html)即可加载。
此模板默认写好一套admin的基础接口,建议先对所有接口做一次数据测试,确认无误后即可开始真正的自定义项目。
> 端口号可在application.yaml文件中修改。
## 6.配置tk.mybatis
MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生,甚至连 XML 文件都不用编写!
#### 1.更新配置文件generatorConfig.xml
在src/main/resources目录下,更新数据库连接配置。参考如下(代码18-24行):
```xml