基于Spring initializr实现自己的项目模板
介绍 先前通过 Apache Maven Archetype 生成了一个项目脚手架1.0版本,模板比较固定,无法根据需要进行灵活定制,经过调研后,发现可基于Spring Starter项目进行定制,脚手架2.0版本也就应运而生。 目标 快速创建最小可运行工程 基础组件依赖管理 版本管理 帮助信息 按需生成项目结构 最终效果 实现 主流程 获取配置 通过请求服务根路径获取脚手架信息,对应接口代码 如请求: http://localhost:8080 会返回以下内容信息 接口返回了服务支持配置的元数据信息 生成工程代码 用户选择配置相应功能后,点击生成按钮,会调用 http://localhost:8080/start.zip 接口将配置信息传给服务,服务根据信息生成代码 核心功能实现 项目工程由以下几方面组成: application.yml文件 工程目录(controller, servier…) auto_publish相关目录 trpc_java.yaml文件 配置相关 日志配置文件 web服务相关 httpApi接口 httpApi实现类StartController Maven依赖管理 主启动程序自定义 测试辅助开发相关自定义 applicationTest 依赖管理 根据现有常用的 Peacock 框架功能包,依赖管理配置以下模块: Starter Integration Provider Data Testing MQ Job 实践 生成一个最小可运行Web应用 命令行快速生成 curl -L 'http://localhost:8080/start.zip?type=peacock-project&bootVersion=1.5.7.RELEASE&groupId=com.yuewen.bookcoop&artifactId=solution_demo&name=solution_demo101&version=1.0.0-SNAPSHOT&language=java&packageName=com.yuewen.bookcoop.solution_demo&javaVersion=1.8&packaging=jar&description=solution_demo101&dependencies=integration-web&dependencies=peacock-test&dependencies=integration-common&dependencies=starter' -o solution_demo.zip 具体的依赖库元信息可以在根路径下请求获得,具体依赖信息为dependencies值对应id的值 IDEA中生成 Idea配置脚手架地址 使用本地地址如: http://localhost:8080 配置工程信息 填写好相关的业务信息与版本信息 选择依赖模块 Web应用需选择以下模块: Peacock Trpc Starter Integration Web Integration Common Peacock Test 选择完成后点击 生成 按钮生成代码 ...