# berg-boot **Repository Path**: Nyberg/berg-boot ## Basic Information - **Project Name**: berg-boot - **Description**: Spring Boot示例项目 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-26 - **Last Updated**: 2021-04-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #Spring Boot示例项目 * 包含中间件,基础后台系统业务逻辑,授权管理,文件管理 ### 目录结构 ├── common 公共应用
│ ├─ all-common 公共应用所有引用
│ ├─ base-application 基础服务应用
│ ├─ minio 文件
│ ├─ quartz 定时任务
│ ├─ redis 缓存
│ ├─ util 工具
│ └─ validator 自定义校验工具
├── dao 数据交互
│ ├─ all-dao 数据交互所有引用
│ ├─ base-dao 基础数据交互引用
│ └─ system-dao 后台系统数据交互
├── generator 代码生成
│ ├─ base-generator 基础代码生成引用
│ └─ generator-modules 代码生成模块
├── manager 公共管理层(业务模块公共)
│ └─ system-auth 后台服务授权
├── model 公共实体层
│ ├─ all-model 所有实体引用
│ ├─ mapstruct 实体映射层
│ └─ vo 表现层对象
├── modules 业务模块层
│ └─ system 后台服务
└── sql 数据脚本
### 服务划分 |名称|定义|端口|workerId| |:----: |:----:|:----:|:----:| |system|后台服务|42000|0| * 使用分布式id生成需配置workerId和datacenterId,需保证每个服务workerId和datacenterId组合均不一致,docker容器初始化时workerId为默认设置,datacenterId则根据端口号生成,如40001的datacenterId即为1,以此规则命名 ### Docker环境搭建 |应用|获取|运行| |:----:|:-----|:-----| |redis|docker pull redis|docker run --restart=always -d --name redis -p 6379:6379 -v /etc/localtime:/etc/localtime redis redis-server --appendonly yes --requirepass "密码"| |rabbitmq|docker pull rabbitmq:management|docker run --restart=always --name rabbitmq -d -p 15672:15672 -p 5672:5672 rabbitmq:management| |minio|docker pull minio/minio|docker run --restart=always --name minio -d -p 9000:9000 -e "MINIO_ACCESS_KEY=账号" -e "MINIO_SECRET_KEY=密码" -v /mnt/data:/data -v /mnt/config:/root/.minio minio/minio server /data| * 生产环境IDEA链接Docker开放端口2375请配置好ca证书 * docker run添加--cap-add=SYS_PTRACE参数解决无法使用JVM命令问题 ### 预设初始账号密码 * redis >密码: * rabbitmq >账号:admin >密码:admin * minio >账号:admin >密码:12345678 ### 相关环境及技术栈 * JDK:Java 8 * 容器化部署工具:Docker * 数据库:MySQL * 服务框架:Spring Boot * 缓存:Redis * 消息队列:RabbitMQ * 定时任务:Quartz * 文件服务:Minio * 鉴权:Shiro+JWT * Mybatis插件:[Mybatis Plus](https://baomidou.com/guide/) * 分页插件:PageHelper * 多数据源组件:Dynamic Datasource * 接口文档组件:knife4j * JDBC组件:Druid * 公共工具组件:[Hutool](https://www.hutool.cn/docs/#/) * 验证组件:Hibernate Validator * Excel工具:[EasyExcel](https://www.yuque.com/easyexcel/doc/easyexcel) * 高性能实体映射工具:MapStruct