当前位置:   article > 正文

新建微服务模块Maven子工程_创建maven子项目

创建maven子项目

  gitegg-cloud是微服务框架,整体功能是非业务相关的基础功能,在实际业务开发过程中需要新建微服务的业务模块,根据业务的整体规划,设计新建Maven子工程。
  下面以常用的电商项目举例新建Maven子工程,电商项目一般包含商品微服务,订单微服务,支付微服务,账户微服务等,我们的整体规划是将电商项目作为一个整体的微服务Maven父工程,商品微服务,订单微服务,支付微服务,账户微服务作为电商项目的子工程,微服务之间通过Feign相互调用,所以我们在gitegg-cloud下新建gitegg-mall和gitegg-mall-client两个Maven工程。

 

Maven工程结构

下面以创建gitegg-mall和gitegg-mall-goods为例创建Maven父子工程:

1、在gitegg-cloud工程上点击右键,然后选择:New > Module... ,选择Maven,Create from archetype不要勾选,点击Next进入下一步,填写工程信息。

新建Maven工程

 

2、填写项目名称,选择工程代码存放路径,GroupId 、ArtifactId、Version,然后点击Finish完成创建。

填写Maven信息

3、因为gitegg-mall工程下面还要存放子模块工程,gitegg-mall也是一个父工程,所以删除工程下用不到的src目录。此时,pom.xml文件中没有节点<packaging>pom</packaging>,这里不需要处理,当创建子工程之后,这里会自动添加此节点。

gitegg-mall父工程

4、同样的方式创建gitegg-mall-client父工程,用于存放微服务之间相互调用的Feign客户端。

gitegg-mall-client

5、创建gitegg-mall第一个子工程gitegg-mall-goods商品微服务,在gitegg-mall工程上点击右键,然后选择:New > Module... > Maven,在Maven窗口点击右键选择org.apache.tapestry:quickstart,在Name处填入子工程名称:gitegg-mall-goods,然后点击Finish,子工程创建完成。

maven-quickstart

 

gitegg-mall-goods

6、同样的方式创建gitegg-mall-goods-client子工程,用于存放商品微服务之间相互调用的Feign客户端。

gitegg-mall-goods-client

 

gitegg-mall-goods-client

7、设置项目依赖库,复制gitegg-service下面的pom.xml里面的依赖库配置dependencies,放到gitegg-mall的pom.xml里。

需要复制的内容:

  1. <dependencies>
  2. <!-- gitegg Spring Boot自定义及扩展 -->
  3. <dependency>
  4. <groupId>com.gitegg.platform</groupId>
  5. <artifactId>gitegg-platform-boot</artifactId>
  6. </dependency>
  7. <!-- gitegg Spring Cloud自定义及扩展 -->
  8. <dependency>
  9. <groupId>com.gitegg.platform</groupId>
  10. <artifactId>gitegg-platform-cloud</artifactId>
  11. </dependency>
  12. <!-- gitegg数据库驱动及连接池 -->
  13. <dependency>
  14. <groupId>com.gitegg.platform</groupId>
  15. <artifactId>gitegg-platform-db</artifactId>
  16. </dependency>
  17. <!-- gitegg mybatis-plus -->
  18. <dependency>
  19. <groupId>com.gitegg.platform</groupId>
  20. <artifactId>gitegg-platform-mybatis</artifactId>
  21. </dependency>
  22. <!-- gitegg swagger2-knife4j -->
  23. <dependency>
  24. <groupId>com.gitegg.platform</groupId>
  25. <artifactId>gitegg-platform-swagger</artifactId>
  26. </dependency>
  27. <!-- gitegg cache自定义扩展 -->
  28. <dependency>
  29. <groupId>com.gitegg.platform</groupId>
  30. <artifactId>gitegg-platform-cache</artifactId>
  31. </dependency>
  32. <dependency>
  33. <groupId>com.gitegg.platform</groupId>
  34. <artifactId>gitegg-platform-redis</artifactId>
  35. </dependency>
  36. <!-- spring boot web核心包 -->
  37. <dependency>
  38. <groupId>org.springframework.boot</groupId>
  39. <artifactId>spring-boot-starter-web</artifactId>
  40. </dependency>
  41. <!-- spring boot 健康监控 -->
  42. <dependency>
  43. <groupId>org.springframework.boot</groupId>
  44. <artifactId>spring-boot-starter-actuator</artifactId>
  45. </dependency>
  46. </dependencies>

8、设置项目依赖库和打包配置,复制gitegg-service-client下面的pom.xml里面的依赖库配置dependencies和build内容,放到gitegg-mall-client的pom.xml里。

需要复制的内容:

  1. <dependencies>
  2. <!-- gitegg Spring Boot自定义及扩展 -->
  3. <dependency>
  4. <groupId>com.gitegg.platform</groupId>
  5. <artifactId>gitegg-platform-boot</artifactId>
  6. </dependency>
  7. <!-- gitegg Spring Cloud自定义及扩展 -->
  8. <dependency>
  9. <groupId>com.gitegg.platform</groupId>
  10. <artifactId>gitegg-platform-cloud</artifactId>
  11. </dependency>
  12. <!-- gitegg swagger2-knife4j -->
  13. <dependency>
  14. <groupId>com.gitegg.platform</groupId>
  15. <artifactId>gitegg-platform-swagger</artifactId>
  16. </dependency>
  17. </dependencies>
  18. <build>
  19. <plugins>
  20. <plugin>
  21. <groupId>org.springframework.boot</groupId>
  22. <artifactId>spring-boot-maven-plugin</artifactId>
  23. <configuration>
  24. <!--client模块不打可执行的jar包,打普通jar包即可-->
  25. <skip>true</skip>
  26. </configuration>
  27. </plugin>
  28. <plugin>
  29. <groupId>com.google.cloud.tools</groupId>
  30. <artifactId>jib-maven-plugin</artifactId>
  31. <configuration>
  32. <!--此模块不打可执行的jar包,打普通jar包即可-->
  33. <skip>true</skip>
  34. </configuration>
  35. </plugin>
  36. </plugins>
  37. </build>

9、复制工程配置文件bootstrap.yml、bootstrap-dev.yml、bootstrap-test.yml、bootstrap-prod.yml到gitegg-mall-goods的src/main/resources目录下,gitegg-mall-goods-client不需要这些配置文件,在gitegg-mall-goods的pom.xml中新增打包插件配置。
  同样client工程相关的配置也需要参考gitegg-service-client和gitegg-service-system-client里面的pom.xml配置,复制到gitegg-mall-goods和gitegg-mall-goods-client的pom.xml中。

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>com.google.cloud.tools</groupId>
  5. <artifactId>jib-maven-plugin</artifactId>
  6. </plugin>
  7. </plugins>
  8. </build>

10、修改bootstrap.yml里面的服务端口配置,修改成一个当前未占用的端口。

修改端口

11、新建微服务启动类GitEggMallApplication,可以直接复制GitEggSystemApplication然后修改内容,包名根据自己规划,这里设置为com.gitegg.mall.goods.brand。

GitEggMallApplication 代码

  1. /**
  2. * gitegg-mall 启动类
  3. * @author GitEgg
  4. */
  5. @EnableDiscoveryClient
  6. @EnableFeignClients(basePackages = "com.gitegg")
  7. @ComponentScan(basePackages = "com.gitegg")
  8. @SpringBootApplication
  9. public class GitEggMallApplication {
  10. public static void main(String[] args) {
  11. SpringApplication.run(GitEggMallApplication.class,args);
  12. }
  13. }

  Maven工程创建好之后,就可以点击GitEggMallApplication 右键运行,测试是否配置正确,后面的操作就是编写具体的增删查改等业务逻辑代码。gitegg-cloud提供代码生成器,下一节介绍说明如何使用代码生成器根据表设计生成前后端代码。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/825134
推荐阅读
相关标签
  

闽ICP备14008679号