maven项目模块化
为什么要进行项目模块化?
因为项目可能会很庞大,功能会很复杂,在单体项目中包容整个业务很明显会很大,在进行项目分布式的时候,也没办法很好地一次性分离,所以需要在设计架构的时候就将各种业务模块化出来
模块化的程度
在写代码的时候,我们都喜欢将业务经常用到的代码分离出来,好让相似的业务也能直接用上;
并且在这些常用到的代码中,会分成基本组件,这些组件可能是其他库中直接拿过来的,所以要和项目兼容的时候常常需要进行简单地封装;
封装好组件之后,就可以进行业务的编写,所以在模块化的结构中一般会包含以下模块
- utils模块,第三方的库和包的调用代码
- common模块,将第三方的库进行简单地封装,可以让项目的业务层进行调用
- statis模块,静态资源,项目中会有logo图片和html页面,让项目可以直接使用
- dao模块,数据库层的模块,基于mybatis的技术,可以用到mapper对sql语句进行分离,让sql语句不要侵入到业务层,单独放在xml文件中,让业务层调用
- web模块,业务模块,包括repo,service,web层的结构。
目前来说,web是最顶层的模块,可以将主要的启动程序放在该模块中,统一启动
如何用springBoot进行模块化
模块化最主要的是建立父模块的结构,和同级模块的依赖。
图示:
以root模块为父节点,节点下有五个模块,web模块依赖了dao和static和common模块
common模块依赖了utils模块
maven如何配置模块化
- 在模块管理中添加模块,例如选择springBoo的创建
- 创建后得到如下模块,frame模块相当于root模块,即父节点
- 模块创建好以后,就可以进行pom的配置
首先进行父模块的配置 - 接下来配置各个子模块
这个是最底层的模块
这个不是最底层的模块,所以可以依赖其他的模块,common依赖utils