# template-manager **Repository Path**: YunJieDeveloper/template-manager ## Basic Information - **Project Name**: template-manager - **Description**: springboot多模块项目标准化框架-用来做maven脚手架项目 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-25 - **Last Updated**: 2023-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # template-manager ## 介绍 template-manager 用作以springboot选型的脚手架模板. ## 项目层级架构 ### template-manager-start 项目启动模块: 负责服务启动,健康监测 依赖模块: template-manager-web / (无template-manager-web时) template-manager-service  ### template-manager-web (可选) web实现层:controller层,与前端直接交互 依赖模块: template-manager-service ### template-manager-service 接口实现层:对client的接口简单实现,负责入参校验等简单逻辑 依赖模块: 直接依赖: template-manager-client && template-manager-biz ### template-manager-client 接口提供层:负责对外提供服务接口,尽量不依赖开源第三方服务,禁止依赖内部第三方业务服务 ### template-manager-biz 业务编排层:具体的业务聚合代码在此层实现,建议在此模块对依赖的dao服务再封装一层service调用。 依赖模块: 直接依赖: template-manager-gateway && template-manager-core 间接依赖: template-manager-common ### template-manager-gateway 依赖内部第三方服务层: 统一管理本项目所依赖的所有内部第三方服务,便于管理,以便后期内部第三方服务升级附带的迭代升级 依赖模块: template-manager-common ### template-manager-core 数据持久层:dao等实现层,负责数据入库 依赖模块: template-manager-common ##### 1.mybatis-plus生成器 GeneratorHandler.java ### template-manager-common 工具类统一管理,可被任一模块依赖,如果在最底层模块被依赖,上层模块就会被隐性依赖 ## 使用说明 ### 生成maven脚手架 1.在项目template-manager目录下执行命令:[mvn archetype:create-from-project]. 执行后,会在template-manager目录下生成target目录 2. 执行命令:[ cd target/generated-sources/archetype/]; 到archetype目录下. 3. 执行命令: [mvn clean install ]. 会将template-manager-archetype-0.0.1-SNAPSHOT.jar推到本地的maven仓库中。 4. 若是公司通用,则可以通过[mvn deploy]命令将脚手架服务上传至公司私库. 5. 至此,脚手架服务生成成功. ### 使用自定义的maven脚手架 #### idea方式使用 参考: https://blog.csdn.net/lh87270202/article/details/107613256 #### maven命令方式使用 mvn archetype:generate -DarchetypeArtifactId=template-manager-archetype -DarchetypeGroupId=com.hession.template -DarchetypeVersion=0.0.1-SNAPSHOT -DinteractiveMode=false -DgroupId=com.example -DartifactId=simple-service -Dversion=1.1.0 -Dpackage=com.example ##### 命令释义 -DarchetypeArtifactId : 脚手架服务的artifactId; -DarchetypeGroupId: 脚手架服务的groupId; -DarchetypeVersion: 脚手架服务的版本号; -DartifactId : 待生成服务的artifactId; -DgroupId: 待生成服务的groupId; -Dversion: 待生成服务的版本号; -Dpackage=com.example: 待生成服务的包名,建议和groupId一致; #### 搭建脚手架注意事项 1. 每个子模块的模块名一定要和子模块的artifactId名一致。 2. 每个子模块下的包名(譬如com.hession.template.XXX)的前缀(com.hession.template) 一定要和groupId保持一致。 3. 子模板服务每个模块下不要建空包,尽量建个demo实例,否则生成的脚手架不会生成空包目录。