Files

126 lines
6.3 KiB
Markdown
Raw Permalink Normal View History

2026-06-17 22:10:41 +08:00
# xian_api_new
新版西安项目——后端
2026-04-07 20:00:15 +08:00
# 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文件。