通过一个简单的Demo来阐述脚手架的使用,在此之前,假设您已经:

  • 拥有 Java 开发环境(JDK1.8)并配置好环境变量
  • 已安装IDE-IntelliJ IDEA
  • IDEA已安装Lombok插件
  • 已安装Maven 3.5+ 并配置好环境变量
  • 熟悉 Maven

备注:JDK环境、IDEA、IDEA插件、Maven的基础开发环境安装配置不再赘述。


1、基础环境确认:

JAVA环境: java -version
Maven环境:mvn -version

2、Maven私服配置

编辑$MAVEN_HOME/conf/settings.xml文件(请确保修改的是对应Maven环境变量下的),在mirrors下添加mirror标签(示例,请填写实际nexus私服地址):

  1. <mirror>
  2. <id>fesionNexus</id>
  3. <mirrorOf>*</mirrorOf>
  4. <url>http://120.79.209.180/repository/maven-public</url>
  5. </mirror>

3、 Nexus私服环境确认

确认脚手架和poros基础依赖已发布到步骤2的nexus私服中

  • 打开nexus私服页面,进行搜索archetype-init-archetype,确认脚手架是否已经发布

微信截图_20201106100910.png

  • 搜索poros-common,确认common模块是否已经发布
  • 搜索poros-parent,确认poros-parent模块是否已经发布

1604629363(1).png

  • 确认OK后,进行下一步

3、使用脚手架创建微服务Project

  1. 打开IDEA->”New Project”,选中“Create from archetype”,点击“Add Archetype…”

微信截图_20201106102630.png

  1. 填写脚手架archetype GAV(GroupId、ArtifactId、Version),配置了私服后Repository为空即可。

    <dependency>
    <groupId>cn.fesion.archetype.init</groupId>
    <artifactId>archetype-init-archetype</artifactId>
    <version>1.0.0</version>
    </dependency>
    
  2. 选中要使用的archetype,点击”Next”

微信截图_20201106102959.png

  1. 填写服务Name、GAV等。统一格式:

    groupId:cn.fesion.系统简称.服务名 (例如:cn.fesion.wms.warehouse) artifactId:服务名(例如:wms-warehouse) 项目名:服务名(例如:wms-warehouse)

image.png

  1. 确认无误后,点击”Next”。
  2. 选择maven路径,点击“finish”

image.png

  1. 等待maven构建完成,基于Poros微服务开发脚手架创建的服务项目就完成了。

image.png

  1. 运行程序前确认环境信息
    • Mysql环境确认(5.7以上),运行程序单表增删改查使用
    • 配置确认
      mybatis-plus: 配置的路径改为自己服务的路径
      image.png
      metadata 的描述改为自己服务的描述

微信截图_20201221143305.png
端口修改(暂未使用k8s集群,故服务的端口号不能一样),根据预先定义的设置:
image.png
添加 .gitignore 文件:

target
bin
bak
.pmd
.project
.settings
.classpath
.idea.xml
.idea
*.class
*.bak
*.iml
*.ipr
*.iws
bak
null/
tree.log
tmp/
velocity.log
.DS_Store
logs
.m2

# gradle related ignore in sub directories
.gradle
build
out

image.png

  • Nacos环境确认
    请在xx-service-svc模块main/resouces/bootstrap.yml中修改成相应的Nacos服务地址,包含config和discovery。
    若没有Nacos环境,可增加配置先禁用:spring.cloud.nacos.config.enabled = false和spring.cloud.nacos.discovery.enabled = false
  • Sentinel环境确认
    请在xx-service-svc模块main/resouces/bootstrap.yml中修改成相应的Sentinel服务地址。
    若没有sentinel环境,可增加配置先禁用:
    1. 运行程序
      运行XX-service-svc/src/main/java/相应package下/Application.java中main方法。