JavaWeb单体项目的分层设计与实现
1、概述
为什么要把一个完整的项目(Project)按层拆分成多个模块(Module)?
1)使项目层次更加的清晰;
2)提高代码的复用性;
3)细化分工;
4)解耦。
是不是听起来很高大尚,今天就简单的讲一下项目的分层设计与实现。
这里使用Maven,对项目进行模块拆分与整合。
2、设计
咱们以传统的MVC项目为例,进行简单的拆分:
1)common模块:包含一些公共的组件,例如:枚举类和工具类。
2)model模块:包含实体、DTO、VO等数据模型。
3)repository模块:包含数据访问类。
4)service模块:包含业务逻辑类。
5)controller模块:包含控制类。
以上模块依次依赖,最终聚合成一个单体项目,依赖关系为:
model 依赖 common
repository 依赖 model
service 依赖 repository
controller 依赖 service
3、创建项目
1) 打开IDEA,选择 File —> New —> Project...
2)选择Maven,SDK,然后 Next
3)填写项目名称、GroupId、Version,然后点击 Finish,即可创建项目
4)修改项目的pom.xml文件,修改packaging标签的值为 pom
4、创建子模块
1)在项目上点击鼠标右键,选择 New —> Module...
2)选择Maven,SDK,然后 Next
3)Parent选择父项目,名称命名为 父项目名称-common ,选择 Finish
4)common模块的pom文件会有父项目的标签
5)父项目的pom文件中会有子模块的标签
6)同理创建其他模块
5、添加依赖关系
1)model 依赖 common
2)repository 依赖 model
3)service 依赖 repository
4)controller 依赖 service
6、父项目增加 springboot web 依赖
7、添加简单的代码
8、打包项目
9、启动项目