写完第一个Hello World入门程序之后,我们来说一个新的概念,叫Module,翻译过来是模块,该概念在咱们之前使用的Eclipse中是闻所未闻的。
在Eclipse当中是有Workspace(工作空间)和Project(工程)这样的概念的,想必用Eclipse做过开发的同学,应该是非常熟悉了。而在IntelliJ IDEA当中,首先我们在启动的时候就说过了,它是没有Workspace(工作空间)这样的概念的,一上来说的就是Project(工程)这样的概念。此外,IntelliJ IDEA还提出了一个新的概念,即Module(模块)。
在IntelliJ IDEA官网中有对Project(工程)和Module(模块)这两个概念的解释,它大概说的是Eclipse当中的Workspace和IntelliJ IDEA当中的Project是相似的,Eclipse当中的Project和IntelliJ IDEA当中的Module是存在对应关系的。大家要知道它们只是一个相当于的意思,千万不可把它们真的理解成是一个完全对应的概念,不知道你明白没?
在Eclipse当中,通常情况下,一个工作空间中我们会放很多个Project,但是这在IntelliJ IDEA当中是做不到的,在IntelliJ IDEA当中,我们只有一个顶级的Project例如HelloLiayun,如下图所示,这里再说一遍,你可以把该Project想像成咱们在Eclipse当中的Workspace。
在该Project下我们再放的就不是Project,而是Module了,所以,以后当某人再说Project,你得清楚到底是IntelliJ IDEA当中的Project,还是Eclipse下的Project。
那么,IntelliJ IDEA为什么要这样设置呢?这是因为现在主流的大型项目都是分布式部署的,必然一个项目下就会有多个模块,于是这就对应着,项目就是Project,其下面的模块就是Module。对于一个大型项目而言,它下面是有很多个模块的,比如core Module(核心的模块)、web Module(web模块)、plugin Module(插件模块)以及solr Module(solr模块)等等,它们相互之间彼此依赖,也即它们彼此之间是可以相互调用的。就拿下面这个电商项目来说,我们就在顶级的Project下面创建了多个模块,而且它们彼此之间是可以相互调用的。
为啥要在一个Project下面创建了多个模块呢?这是因为在真实开发当中,极有可能不同的模块是由不同的人来完成的。
如果开发的项目比较小,那么