2026-04-07 20:00:15 +08:00
|
|
|
|
# basic_template_not_login_back
|
|
|
|
|
|
开发基本模版——后端
|
|
|
|
|
|
|
|
|
|
|
|
# basic_template_not_login_back
|
|
|
|
|
|
|
|
|
|
|
|
## 项目介绍
|
|
|
|
|
|
`basic_template_not_login_back` 是一个包含后端的基础开发模板,旨在为快速搭建Web应用提供完整的技术栈支持。项目后端基于Spring Boot 3 + MyBatis + PostgreSQL构建,集成了国密算法(SM2/SM3/SM4)加解密功能、动态数据源、Redis缓存等核心功能,可直接作为中小型Web项目的开发起点。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 目录结构
|
|
|
|
|
|
```
|
|
|
|
|
|
basic_template_not_login_back
|
|
|
|
|
|
├── bin # 批处理脚本
|
|
|
|
|
|
│ └── package.bat # 打包脚本
|
|
|
|
|
|
├── src
|
|
|
|
|
|
│ ├── main
|
|
|
|
|
|
│ │ ├── java/com/gis/basic_template_not_login_back
|
|
|
|
|
|
│ │ │ ├── config # 配置类
|
|
|
|
|
|
│ │ │ │ ├── CryptoProperties.java # 加解密配置属性
|
|
|
|
|
|
│ │ │ │ ├── DataSource.java # 数据源注解
|
|
|
|
|
|
│ │ │ │ ├── DataSourceAspect.java # 数据源切面
|
|
|
|
|
|
│ │ │ │ ├── DataSourceConfig.java # 数据源配置
|
|
|
|
|
|
│ │ │ │ ├── DataSourceContextHolder.java # 数据源上下文
|
|
|
|
|
|
│ │ │ │ ├── DynamicDataSource.java # 动态数据源
|
|
|
|
|
|
│ │ │ │ └── RedisConfig.java # Redis配置
|
|
|
|
|
|
│ │ │ ├── controller # 控制器层
|
|
|
|
|
|
│ │ │ │ ├── BaseController.java # 基础控制器
|
|
|
|
|
|
│ │ │ │ └── CryptoController.java # 加解密控制器
|
|
|
|
|
|
│ │ │ ├── domain # 领域对象
|
|
|
|
|
|
│ │ │ │ └── ApiResponse.java # 统一响应类
|
|
|
|
|
|
│ │ │ ├── filter # 过滤器
|
|
|
|
|
|
│ │ │ │ └── DecryptFilter.java # 解密过滤器
|
|
|
|
|
|
│ │ │ ├── mapper # MyBatis Mapper接口
|
|
|
|
|
|
│ │ │ ├── service/ex # 服务层异常
|
|
|
|
|
|
│ │ │ │ └── ServiceException.java # 业务异常类
|
|
|
|
|
|
│ │ │ ├── utils/safety # 安全工具类
|
|
|
|
|
|
│ │ │ │ ├── SM2Utils.java # SM2非对称加密工具
|
|
|
|
|
|
│ │ │ │ ├── SM3Utils.java # SM3摘要算法工具
|
|
|
|
|
|
│ │ │ │ └── SM4Utils.java # SM4对称加密工具
|
|
|
|
|
|
│ │ │ ├── vo # 视图对象
|
|
|
|
|
|
│ │ │ ├── wrapper # 请求响应包装
|
|
|
|
|
|
│ │ │ │ ├── DecryptRequestWrapper.java # 解密请求包装器
|
|
|
|
|
|
│ │ │ │ ├── EncryptResponseAdvice.java # 加密响应通知
|
|
|
|
|
|
│ │ │ │ └── Sm4KeyHolder.java # SM4密钥持有者
|
|
|
|
|
|
│ │ │ └── BasicTemplateNotLoginBackApplication.java # 启动类
|
|
|
|
|
|
│ │ └── resources # 资源文件
|
|
|
|
|
|
│ │ ├── application-database-dev.yml # 开发环境数据库配置
|
|
|
|
|
|
│ │ ├── application-database-prod.yml # 生产环境数据库配置
|
|
|
|
|
|
│ │ ├── application-dev.yml # 开发环境配置
|
|
|
|
|
|
│ │ ├── application-prod.yml # 生产环境配置
|
|
|
|
|
|
│ │ └── application.yml # 主配置文件
|
|
|
|
|
|
├── LICENSE # 许可证
|
|
|
|
|
|
└── README.md # 介绍文件
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
|
- JDK 17+
|
|
|
|
|
|
- Maven 3.6+
|
|
|
|
|
|
- PostgreSQL 数据库
|
|
|
|
|
|
- Redis 服务器
|
|
|
|
|
|
|
|
|
|
|
|
### 项目克隆
|
|
|
|
|
|
```bash
|
|
|
|
|
|
git clone https://github.com/wzy-warehouse/basic_template_not_login_back.git
|
|
|
|
|
|
cd basic_template_not_login_back
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 配置说明
|
|
|
|
|
|
1. **数据库配置**: 修改 `src/main/resources/application-database-dev.yml` 中的数据库连接信息
|
|
|
|
|
|
2. **Redis配置**: 修改 `src/main/resources/application.yml` 中的Redis连接信息
|
|
|
|
|
|
3. **端口配置**: 在 `application.yml` 中修改 `server.port`(默认8080)
|
|
|
|
|
|
|
|
|
|
|
|
### 启动方式
|
|
|
|
|
|
|
|
|
|
|
|
#### 方式一:Maven命令启动
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 开发环境(默认)
|
|
|
|
|
|
mvn spring-boot:run
|
|
|
|
|
|
|
|
|
|
|
|
# 生产环境
|
|
|
|
|
|
mvn spring-boot:run -Pprod
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 方式二:打包后运行
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 开发环境打包
|
|
|
|
|
|
mvn clean package
|
|
|
|
|
|
|
|
|
|
|
|
# 生产环境打包
|
|
|
|
|
|
mvn clean package -Pprod
|
|
|
|
|
|
|
|
|
|
|
|
# 运行jar包
|
|
|
|
|
|
java -jar target/basic_template_not_login_back.jar
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 方式三:使用批处理脚本
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Windows系统
|
|
|
|
|
|
bin\package.bat
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 配置文件说明
|
|
|
|
|
|
- `application.yml`: 主配置文件,公共配置
|
|
|
|
|
|
- `application-dev.yml`: 开发环境特定配置
|
|
|
|
|
|
- `application-prod.yml`: 生产环境特定配置
|
|
|
|
|
|
- `application-database-dev.yml`: 开发环境数据库配置
|
|
|
|
|
|
- `application-database-prod.yml`: 生产环境数据库配置
|
|
|
|
|
|
|
2026-05-05 19:19:12 +08:00
|
|
|
|
# geo_server相关说明
|
|
|
|
|
|
1. 版本:2.28.3
|
|
|
|
|
|
2. 安装:
|
|
|
|
|
|
```
|
|
|
|
|
|
docker pull docker.osgeo.org/geoserver:2.28.3
|
|
|
|
|
|
|
|
|
|
|
|
docker run -d \
|
|
|
|
|
|
--log-driver none \
|
|
|
|
|
|
--name geoserver \
|
|
|
|
|
|
-p 8080:4020 \
|
|
|
|
|
|
-e GEOSERVER_ADMIN_USER=admin \
|
|
|
|
|
|
-e GEOSERVER_ADMIN_PASSWORD=geoserver \
|
|
|
|
|
|
-v /mydata/geoserver/data_dir:/data_dir \
|
|
|
|
|
|
kartoza/geoserver
|
|
|
|
|
|
```
|
2026-04-07 20:00:15 +08:00
|
|
|
|
## 许可证
|
|
|
|
|
|
本项目基于 [MIT License](LICENSE) 开源,详情请查看LICENSE文件。
|