j2ee开发日记(3)开箱即用的模块化maven项目(18110
分模块搭建项目,同时兼顾产品化理念,模块“开箱即用”,避免逻辑类似的代码段,开发新项目时要重复拷贝。
所谓的开箱即用,就是添加maven业务模块依赖直接就可以使用,而不用修改业务模块的代码。
搭建步骤:
1 pro-rely 继承springboot,然后添加整个项目所需要的依赖jar包,以及工具模块的版本依赖定义,还可以添加一些业务模块版本依赖定义。为什么要这么做:终极目标是为了项目服务,整个项目所需要的依赖,在一个文件中管理,简单明了。
插播一段:分层依赖,从底层开始往上,实体类,持久化,服务层,控制层这几层每一层分别引用依赖jar包,引用关系更加清晰。
可是呢,发现个问题:很多依赖被重复引用,在不同的层总是要引用相同的依赖,也有解决办法,总的项目引用重复依赖,分层引用需要依赖,好麻烦……
经过强烈的思想斗争,取舍之下,还是用一个文件引用吧,用什么依赖就直接引用,再也不用写那么多分层,再也不用考虑重复依赖,再也......
2 tool 继承pro-rely,主要是封装工具类,以及对jdbc的封装,还有通用的一些类。
3 业务模块:所有业务模块开发都继承pro-rely,并且分层引用tool模块,这里要严格分层引用,不能交叉引用,业务模块自身也要严格分层引用。
分层引用说明:
tool模块 >>> util工具层:这里放所有的通用工具类。被实体类层所引用
业务模块实体类层:引用tool模块实体类层
业务模块接口层:引用tool模块接口层和自身实体类层
业务模块持久化层:引用tool模块持久化层和自身接口层
业务模块服务层:引用tool模块服务层和自身接口层
业务模块控制层:引用tool模块控制层和自身服务层
业务模块依赖提供层:引用自身持久化层,服务层,控制层。为发布模块提供依赖接口
4 pro发布模块:按需引用业务模块,管理项目配置及springboot启动类。
同一张图