# spring-boot-api-project **Repository Path**: bobollb/spring-boot-api-project ## Basic Information - **Project Name**: spring-boot-api-project - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-02-18 - **Last Updated**: 2022-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 基于Spring、SpringBoot、MyBatis、Shiro框架,开发的一套后台脚手架框架,包括用户管理、角色管理、权限系统等功能,SpringBoot快速开发平台,完善的 XSS 防范及脚本过滤,彻底杜绝 XSS 攻击,采用前后端分离技术实现,后端采用RESTFul风格接口形式并使用服务认证技术给前端(前台)提供数据,便于改版以及后期接入APP或者微信小程序。 ## 项目说明 ### 1. 后端技术选型: > 核心框架 SpringBoot 视图框架(后端) SpringMVC 版本控制 maven 持久层框架 MyBatis 分页插件 PageHelper 实体类注解插件 Lombok 安全框架 Shiro 服务认证(前端接口) JWT OSS对象存储 Ali-OSS 数据库连接池 Druid 文档支持 Swagger 热部署插件 JRebel 代码生成 mybatis-generator-gui ### 2. 前端技术选型: > 前端框架 React UI框架 Ant Design ``` 备注:由于作者开发项目的时候,使用Ant Design版本较旧,故没有上传前端代码,框架使用介绍地址:https://ant.design/index-cn ``` ## 页面预览 项目拆除了业务相关的部分,仅保留了系统管理相关内容,代码更简洁,能够更方便的进行二次开发。 ![Image text](https://raw.githubusercontent.com/herry-zhang/trade-training/master/github-img//WX20190508-122244%402x.png) ![Image text](https://raw.githubusercontent.com/herry-zhang/trade-training/master/github-img//WX20190508-122732@2x.png) ## 本地开发 1. 环境要求 JDK1.8、MySQL5.5+ 2. 下载项目,通过IDEA或者Eclipse导入项目 3. 通过数据库脚本导入数据库 [数据库脚本(train_trade.sql)](https://github.com/herry-zhang/trade-training/blob/master/train_trade.sql) 4. 编译 ## 服务器打包部署 1. 通过maven进行打包 2. 进入jar包目录执行自动打包程序 [自动打包程序(trade-training-api-admin.sh)](https://github.com/herry-zhang/trade-training/blob/master/trade-training-api-admin.sh) 3. 部署前端文件(省略) ## 文件说明 1. 项目数据库设计文件 [数据库设计文档](https://github.com/herry-zhang/trade-training/blob/master/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1%E6%96%87%E6%A1%A3.md) 2. 代码生成 [mybatis-generator-gui](https://github.com/zouzg/mybatis-generator-gui) 3. 配置文件 application.yml ```java # Tomcat server: tomcat: uri-encoding: UTF-8 max-threads: 1000 min-spare-threads: 30 # tomcat端口号 port: 8080 connection-timeout: 5000ms servlet: context-path: /api-admin spring: application: name: TradeTrainingAdmin # 环境 dev|test|prod profiles: active: prod datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.jdbc.Driver # jackson时间格式化 jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss mvc: throw-exception-if-no-handler-found: true static-path-pattern: /static/** druid: pool: initialSize: 10 maxActive: 100 minIdle: 10 # mybatis mybatis: mapper-locations: classpath:/mapper/*/*Mapper.xml type-aliases-package: com.trade.training.model global-config: # 主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID"; id-type: 0 # 字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" field-strategy: 2 # 驼峰下划线转换 db-column-underline: true # 刷新mapper 调试神器 refresh-mapper: true configuration: map-underscore-to-camel-case: true cache-enabled: false # pagehelper分页插件配置 pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql ``` application-dev.yml ```java # 数据库连接 spring: datasource: url: jdbc:mysql://127.0.0.1:3306/train_trade?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8 username: root password: root # 日志文件 logging: config: classpath:logback-spring.xml level: com.trade.training: debug # swagger swagger: enable: true ```