【Maven】【Springboot】利用Maven Archetype 快速生成项目

前言

随着我们项目做的越来越多,很多项目都有相同的模块。这个时候我们需要有一套脚手架项目来帮我们完成项目的创建。剩下的可能我就只需要修改一些简单的配置即可开始开发,那么将会大大提高我们的开发效率。今天就基于springboot项目来学习下怎么利用maven archetype来快速生成工程。

实践

项目demo-a

  • 现有的spring-boot 项目,比如已经做好了相关的配置,定义好了controller,service, mapper层以及application.yml等

  • 项目信息:jdk:17,springboot-3.1.3. 
  • 工程结果如下图

  • 项目简单集成了swagger并且有一个hello接口
  • 运行结果 

生成maven-archetype Template

  • 进入项目demo-a的根目录执行命令
mvn archetype:create-from-project

 

模板已经生成到本地target目录。

  • 进入template目录,target/generated-sources/archetype/src/main/resources

这里就是生成的好的模板,代码中已经利用占位符变量(比如包名用了${package})帮我们包名都生成好了。

可以看下RedisConfig.java这个类。

#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.config;

public class RedisConfig {
}

 DemoController.java

#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.controller;

import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import ${package}.entity.RestResponse;

@RestController
@RequestMapping("/api/v1")
@Tag(description = "Demo controller for test", name = "DemoApi")
public class DemoController {

    @GetMapping(value = "/hello")
    public RestResponse hello() {
        return RestResponse.ok("Hello, I am XYX Mirco Service");
    }
}

Archetype Template 发布到本地Maven仓库

  • 进入/target/generated-sources/archetype
  • 运行命令
mvn install

  • 查看archetype-catalog.xml 

利用Maven Archetype生成新工程demo-b

  • 进入新目录运行命令
mvn archetype:generate \
-DarchetypeGroupId=top.xyx0123 \
-DarchetypeArtifactId=>demo-a-archetype \
-DarchetypeVersion=0.0.1-SNAPSHOT \
-DgroupId=top.xyx0123.demob \
-DartifactId=demo-b \
-Dversion=0.0.1-SNAPSHOT

 遇到提示包名提示修改或者默认。默认直接Enter

最终出现成功

  • 对比demo-a和demo-b 

项目demo-b测试

注意发现application.yml中是无法替换的,后面需要研究下。手动替换application.yml中的参数启动服务。

启动成功并查看swagger

接口正常调用

结束语

初步体验了利用maven-archetype的模版快速生成工程的功能。对于需要做脚手架的框架非常适合。demo代码回头在上传。

感谢大家的阅读,下次见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值