maven项目模块化

为什么要进行项目模块化?

       因为项目可能会很庞大,功能会很复杂,在单体项目中包容整个业务很明显会很大,在进行项目分布式的时候,也没办法很好地一次性分离,所以需要在设计架构的时候就将各种业务模块化出来

模块化的程度

在写代码的时候,我们都喜欢将业务经常用到的代码分离出来,好让相似的业务也能直接用上;

并且在这些常用到的代码中,会分成基本组件,这些组件可能是其他库中直接拿过来的,所以要和项目兼容的时候常常需要进行简单地封装;

封装好组件之后,就可以进行业务的编写,所以在模块化的结构中一般会包含以下模块

  1. utils模块,第三方的库和包的调用代码
  2. common模块,将第三方的库进行简单地封装,可以让项目的业务层进行调用
  3. statis模块,静态资源,项目中会有logo图片和html页面,让项目可以直接使用
  4. dao模块,数据库层的模块,基于mybatis的技术,可以用到mapper对sql语句进行分离,让sql语句不要侵入到业务层,单独放在xml文件中,让业务层调用
  5. web模块,业务模块,包括repo,service,web层的结构。
    目前来说,web是最顶层的模块,可以将主要的启动程序放在该模块中,统一启动

 

如何用springBoot进行模块化

模块化最主要的是建立父模块的结构,和同级模块的依赖。

图示:

maven项目模块化

以root模块为父节点,节点下有五个模块,web模块依赖了dao和static和common模块

common模块依赖了utils模块

maven如何配置模块化

  1. 在模块管理中添加模块,例如选择springBoo的创建
    maven项目模块化maven项目模块化
  2. 创建后得到如下模块,frame模块相当于root模块,即父节点
    maven项目模块化
  3. 模块创建好以后,就可以进行pom的配置
    首先进行父模块的配置
    maven项目模块化
  4. 接下来配置各个子模块


    这个是最底层的模块
    maven项目模块化

    这个不是最底层的模块,所以可以依赖其他的模块,common依赖utils

    maven项目模块化