没做过大项目,但我会建大项目

Posted bigdatazj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没做过大项目,但我会建大项目相关的知识,希望对你有一定的参考价值。

刚出来实习的时候,参与的项目使用的还是SSH框架。

那时候还在使用SVN进行版本管理,常常在合并代码的时候遇到各种莫名其妙的问题。

那时候使用着曾经宇宙最好用的JAVA IDE Eclipse写代码,也没有觉得界面简陋影响编码。

那时候还不知道啥时微服务,只知道有需求了就把代码往单体项目的代码里加,而且是前端和后台代码放一起的那种。什么Vue、React、Angular,不存在的,JQuery搞定一切。

因为项目小,或者因为业务并不复杂,虽然项目代码都放一块,但是勉强还可以看,找相关的代码也算比较快。

后来,慢慢接触到了一些大点的项目,而且微服务的设计理念也更加盛行和深入人心。所以,我们会发现在当今宇宙最好的JAVA IDE Intellij IDEA中多了越来越多的微服务项目,日益膨胀的业务,让我们在找相应的项目以及代码的时候力不从心。

所以,这时候项目的编排就很重要,换句话说就是,大项目应该有大项目的样子。这篇就来看看我们如果在Intellij IDEA中搭建项目目录结构清新的大项目。

项目结构对比

项目划分前
技术分享图片

这时候如果要添加代码,我们会在项目里面通过创建各个package用于区分业务代码,或者新建平级的module。

项目划分后
技术分享图片

如何创建有层次的大项目框架

1、创建root项目

点击File->new->Project,点击图中的左侧的maven,创建一个maven父级项目
技术分享图片

点击next,进入下一步

2、填写maven坐标项目

因为创建的是maven项目,所以需要定义groupId和artifactId,自己填写即可
技术分享图片

点击next,进入下一步

3、确认项目信息并完成父级项目创建

技术分享图片

4、父级项目概览

技术分享图片

这就是一个再普通不过的maven项目,下面我们需要在这个项目中新建子module。

5、创建聚合项目

我们在微服务开发模式下经常需要开发一个接口服务,同时可能还需要一个用于同步数据的服务,如果我们把这两个服务散落在root项目目录下,有时候因为命名而隔得很远,找代码也不方便。

这时候就需要一个聚合项目,该项目用于编排某个服务项目的原子项目(xxx),如服务的实现项目("xxx-service"),服务的接口项目("xxx-api"),服务的同步数据项目("xxx-sync")。

这里我们就创建一个聚合项目spring

5.1 创建“spring”项目

在root项目上右键选择new->module
技术分享图片

5.2 创建一个maven的“spring”项目

技术分享图片

点击next,进入下一步

5.3 填写maven的坐标信息

技术分享图片

注意这里因为是在root下新建子module,所以这里有个“Parent”选项,即继承了root项目,填写下artifactId即可。

点击next,进入下一步

5.4 确认项目信息并完成聚合项目创建

技术分享图片

5.5 聚合项目概览

技术分享图片

注意这里聚合项目“spring”已经创建成功,点击root项目的pom文件,可以看到已经多了属性标签,如右图所示。

6、创建聚合项目下的子项目

有了聚合项目,我们就可以在“spring”下创建子项目了,具体步骤如下

6.1 创建聚合项目下的子项目

在“spring”项目上右键new->module,这时候我们选择创建一个springboot的项目
技术分享图片

点击next,进入下一步

6.2 填写项目基本信息

填写好springboot项目的maven坐标信息
技术分享图片

点击next,进入下一步,一直到确认信息页面

6.3确认项目信息

技术分享图片

注意这里默认content root和module file location只到/Users/jackie/workspace/root/spring,但是我们要创建的是springboot项目,位于聚合项目下的子项目。所以需要将两个变量的信息改为如图所示,即加上新建项目的名称信息。

我在这里尝试过几次,都没有加上子项目的名称,导致新建的项目一直和聚合项目平级,无法起到聚合的目的,所以这里需要格外注意。

6.4 聚合项目下的子项目概览

技术分享图片

这里“spring”作为聚合项目,可以将该目录下的src目录删除,仅保留pom文件用于编排子项目。

至此,我们完成了基本父级项目的创建,聚合项目的创建以及聚合项目下子项目的创建。

看完这边,相信再复杂的目录结构层次也难不倒你了。

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!如果您想持续关注我的文章,请扫描二维码,关注JackieZheng的微信公众号,我会将我的文章推送给您,并和您一起分享我日常阅读过的优质文章。
技术分享图片

以上是关于没做过大项目,但我会建大项目的主要内容,如果未能解决你的问题,请参考以下文章

自我评价表测试报告

每日一书|建大数据平台太难了,给我发个工程原型吧

git 项目工程过大问题解决

那些无奈的招聘要求

解决图片过大超过项目体积的问题

那些SAP项目里的主流外围系统