# monitor-optimize **Repository Path**: zhangxiaoke/monitor-optimize ## Basic Information - **Project Name**: monitor-optimize - **Description**: java应用监控与调优示例代码 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-14 - **Last Updated**: 2023-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 基于SpringBoot构建的Java开发脚手架,默认集成多种能力,以达到开箱即用的效果。业务开发人员只需专注具体的业务功能开发即可。 # 默认集成能力 * 通过引入framework-boot-parent POM,统一所有引用的第三方库的基线版本; * 启用Redis缓存,并默认启用名字空间隔离; * 引入MapStruct,支持后端POJO对象的自动映射; * 引入mybatis-plus,自动生成数据库操作代码; * 引入多数据源机制; * 通过Spring Validator实现参数校验,并实现全局异常捕获; * 支持RocketMQ(默认没有启用)。如需启用,打开application.yml文件中RocketMQ相关配置即可。 * 支持根据profile自动打包对应环境的代码。如:mvn -P dev (默认), mvn -P uat(uat环境打包), mvn -P prod(生产环境打包) * 内置心跳探测接口,探测接口URL为:http://*ip:port/context-path*/healthcheck/probe # 模块划分原则 通过模块划分实现Java代码强制分层,数据库操作相关代码在dao模块,数据库操作之上的业务聚合代码在service模块,面向前端的Rest接口代码在controller模块。common模块用于存放项目中的公共方法、领域模型、DTO、BO等。daemon模块包含项目中后台定时执行的代码逻辑。alpha模块是整个项目的入口,项目中所有的配置信息都在此模块中完成。 各项目遵循此模块划分方式,可以最大限度的减少开发人员的认知成本,开发人员可以快速定位到相关代码进行改动,降低代码维护成本。 # 模块依赖关系 各模块的依赖关系如下图所示: ![模块依赖关系图](./模块依赖关系图.jpg "模块依赖关系图") 开发过程中,请严格遵循模块之间的依赖原则,避免重复的、无意义的依赖。