最简单的idea构建微服务模块

文章目录

  • 前言
  • 一、顶级模块
  • 二、业务模块
  • 三、业务子模块
    • 1.api
    • 2.biz
    • 3.打包
      • 1.终端即Terminal
      • 2.Maven中执行(注意执行的路径在顶级模块的目录执行)


前言

本文介绍在idea中如何构建微服务模块,本文只做结构的搭建,整合各种组件的内容另写文章;微服务是现在很多公司流行的一种架构,掌握微服务的构建是一种必然;一般一个微服务项目分为顶级模块即该项目(本文叫做顶级模块),业务模块(本文也称为父模块)和每个业务模块的子模块(即api和biz,其中api中定义实体类和前端交互数据类信息,biz中是业务实现如controller、service、dao等业务代码);下面详细介绍每个模块的构建。


一、顶级模块

idea中 File -> New -> Project
最简单的idea构建微服务模块_第1张图片
选maven项目选好jdk路径,下面复选框不需要勾选,建立一个最简洁的maven项目即可
最简单的idea构建微服务模块_第2张图片
填写项目的分组路径和项目名称(groupId即分组路径也是打包后的jar包所在的目录一般是两段组成:第一段一般是org/com/cn称之为域,org表示非商业项目比如apache的开源项目都是org开头,com表示商业项目,cn则表示中国的域;第二段则是以公司名称或简写定义,如果是个人项目可以以自己的名称或花名定义)
最简单的idea构建微服务模块_第3张图片
最简单的idea构建微服务模块_第4张图片
点击Finish之后会叫你选择当前窗口打开还是新窗口打卡,新建好的项目如下,因为该项目会作为微服务的最父级项目只需要pom即可,删除src目录
最简单的idea构建微服务模块_第5张图片

二、业务模块

项目名称右击选择new -> module:
最简单的idea构建微服务模块_第6张图片
重复上述步骤建立一个模块如:member,注意该module也是一个模块的父级,不需要编写代码也删除src
最简单的idea构建微服务模块_第7张图片
到此观察顶级模块的pom可以看到刚才建立的module已经加入进来(这是微服务在顶级模块目录执行maven打包命令可以将所有模块都能打包的原因)
最简单的idea构建微服务模块_第8张图片

三、业务子模块

member模块的两个子模块api和biz(需要在my-test-member上右击new -> module)

1.api

注意分组和项目名称修改其他和上面一致
最简单的idea构建微服务模块_第9张图片
完毕后在member的pom中也可以看到加入了api
最简单的idea构建微服务模块_第10张图片

2.biz

biz是业务项目是需要部署在服务器上的所以新建的是springboot项目此处不选择maven
最简单的idea构建微服务模块_第11张图片
注意标红的几处修改即可(有一些伙伴可能下一步来不到这个界面,是因为有些网络无法访问https://start.spring.io网址,可以试下换网络然后重复上一步比如开手机WiFi连接,或者上一步不选默认的网址选择下面的单选框填入http://start.spring.io试下,最后一招就是打开这个默认网址手动创建项目下载下来然后再导入进来也可以)
最简单的idea构建微服务模块_第12张图片
此处可以选择将需要的包勾选,项目新建好后勾选的包会自动在pom中添加
最简单的idea构建微服务模块_第13张图片
注意路径修改
最简单的idea构建微服务模块_第14张图片
点击Finish之后springboot构建时间会比上面构建的maven模块时间更长,等待下方蓝色进度条消失。
最简单的idea构建微服务模块_第15张图片
注意:新建的biz模块并没有添加到member的pom中,产生的问题就是如果在biz模块的父级目录打包biz模块不会被打包。

3.打包

命令:mvn install -Dmaven.test.skip=true,可以在idea中两处地方执行

1.终端即Terminal

最简单的idea构建微服务模块_第16张图片

2.Maven中执行(注意执行的路径在顶级模块的目录执行)

最简单的idea构建微服务模块_第17张图片
下面看下没有将biz加入到member父模块中的打包效果
最简单的idea构建微服务模块_第18张图片
在member的pom中添加biz模块(可以看到biz也被打包,biz首次打包会下载一些东西耗时会长一些)
最简单的idea构建微服务模块_第19张图片
最后做一个修改:
为了避免微服务中多个模块导入同一个包版本不一致问题,建议将biz的pom中的parent由springboot改为member,将之前biz中parent为springboot的内容移入到顶级模块中(后续其他的包的版本也定义在顶级模块pom中,member不需要改parent是因为idea已经设置了member的parent为顶级模块)

最简单的idea构建微服务模块_第20张图片
最简单的idea构建微服务模块_第21张图片
到此微服务项目的一个业务模块的结构就搭建完成(其他的业务模块同理)。


你可能感兴趣的:(微服务,idea,idea,微服务,微服务架构,maven,spring,boot)