V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
specita
V2EX  ›  Java

Java web 工程项目结构问题

  •  
  •   specita · 2018-06-08 10:51:16 +08:00 · 3021 次点击
    这是一个创建于 2393 天前的主题,其中的信息可能已经有所发展或是发生改变。
    rt, 之前 web 工程一直是按照分层划分( maven 父子工程),比如:
    project
    -api
    -common
    -service
    -dao
    -remote
    -web
    --controller

    除了 web 是 war 包,其它都是 jar 包

    现在有一个业务系统,我想按照业务模块先划分,再分层可以吗,比如:
    project
    -common
    -remote
    -business1
    --api
    --service
    --dao
    --dto
    -business2
    -business3
    -web
    --controller

    请问下有哪个开源项目是这样搭建的吗,主要没有这样搭过,怕有坑,想找个参照
    我认为这样的好处就是分工明确,拆子系统会方便些,但会让结构变复杂,不好管理
    3 条回复    2018-06-13 15:56:22 +08:00
    night98
        1
    night98  
       2018-06-08 14:03:20 +08:00 via Android
    可以,就是有点不方便扫包。
    shalk
        2
    shalk  
       2018-06-08 14:17:12 +08:00 via iPhone
    可以。要注意依赖问题,做法是把 service 分成 service 和 seviceimpl,不同 busi 之间,一方面只允许依赖 service,不要依赖实现,实现统一在 web 的 pom 里加。偶尔要处理循环依赖的。
    donnior
        3
    donnior  
       2018-06-13 15:56:22 +08:00
    没有问题的,如上面说的,要处理好模块边界及依赖,这种架构继续进化就是微服务了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5300 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:23 · PVG 09:23 · LAX 17:23 · JFK 20:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.