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、启动项目

 

 

 

posted @   追风人聊Java  阅读(607)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示