maven 多模块开发,如何划分?请给指导性意见!!!

Hrong123 发布于 2015/02/02 21:59
阅读 4K+
收藏 1

项目框架准备用  maven+SpringMVC+mybatis 搭建。

我看已经看过 有的人按照 dao service web util 这样划分, 还有的用 domain 里面是 数据模型(实体类)和 service以及 service iml。 将实体某型和业务接口及实现放在一个 子模块里, 但是到底哪种好,处于什么考虑?

另外给 举个例子 多模块的应用场景,比如说如果我这样用多模块,在什么样的情况下达到什么样的作用和好处,

我已经看了maven的聚合和继承,我现在需要的答案是实际中,应用,如何比较好,我们在用多模块开发,但是我感觉划分的不够清晰,而且比较乱,想整理。

加载中
0
Jerry-hu
Jerry-hu
根据实战经验可划分为:dao,service,model,controller……有工具和辅助的再新建tool和helper
0
子木007
子木007

我们是按照业务来划分模块的, 每个业务模块都可能包含 dao,service ,model ,controller 。 要是按照 dao service web util 这样划分,开发的时候不得不频繁的切换项目(我指的是IDEA),频繁的编译、安装。


子木007
子木007
回复 @管梨员 : spring/struts/mybatis 这些配置文件也一样,每个业务模块各自定义的。
子木007
子木007
回复 @dream_sky2014 : 我们是以业务为主的。每个模块就是一个完整的业务,是可以插拔的(根据用户购买的模块来组合打包)。比如涉及用户的管理都是在 usermodule 里面,当然了这也是作为基础模块被依赖的。
Hrong123
Hrong123
追问下,spring的xml 以及和mybatis、hibernate、缓存等与其集成额xml,和jdbc 还有自定义properties 文件 ,是放在web这个项目的 main/java/resuouces 下,还是 单独摘出来弄成一个 maven子项目。。
Hrong123
Hrong123
回复 @管梨员 : 我那只是举个例子,其实我也是想按照你的那样来, 同样的疑问,你们的service是分模块的吗?不是统一将全部放在同一个service包下,只是不同接口类而已。。还是说userService 在user接口包, productService在产品接口包?如果这样实体类,你也是 分包放的? 另外 util 工具这些,你是另建一个 子项目?
Hrong123
Hrong123
回复 @王宜 : 哎,两天没看以为沉底了,其实我蛮认同你的说法,我们现在其实有好多模块,但是 service 和 service imp 是公用的,就是 user类的接口,和产品类的接口 其实都是放在 同一个service下,,没有说 com.companyname.projectname.user.service..你觉得是都一起好还是 各个模块的的service分包放合适?
下一页
0
莫库什勒
莫库什勒
我目前开发也是根据业务模块划分多个模块,和2楼所得一样,每个模块就是一个完整的业务,是可以插拔的,但目前,我这有一个单个模块的话,那么总的web模块(管理静态资源显示模块);存在多个模块的applicationContext.xml文件,这样很明显没有达到,插拔的目的,因为新入手maven,不是很懂,我看到单个模块有打包applicationContext.xml文件至jar; 但web模块并有依赖读取啊,只读取了java代码文件;这如何解决?
0
Byron4j
Byron4j

引用楼主我已经看了maven的聚合和继承,我现在需要的答案是实际中,应用,如何比较好,我们在用多模块开发,但是我感觉划分的不够清晰,而且比较乱,想整理。   为什么不梳理下springframework的模块划分思想呢。spring框架就是典型的模块划分:

晓庄Payne
回复 @站在巨人的肩膀上 : 是的。现在我也想按照功能模块划分。但是相互依赖的问题,不知道怎么解决比较好。你有好的想法嘛
站在巨人的肩膀上
回复 @站在巨人的肩膀上 : 可以 把开发的功能或子系统在按层分模块。不过这样模块好像为好多好多。
站在巨人的肩膀上
这种是按层划分,国内基本都是一个人负责一个功能 模块或子系统,感觉按子系统或功能模块划分,比例合理。 但总无法避免相互依赖的问题。
0
啦啦啦拉拉
啦啦啦拉拉
那为什么不直接按照 Java 的包来划分呢?Maven应该是按照项目的功能划分,比如一边是面向手机一边面向网页
0
晓庄Payne

引用来自“子木007”的评论

我们是按照业务来划分模块的, 每个业务模块都可能包含 dao,service ,model ,controller 。 要是按照 dao service web util 这样划分,开发的时候不得不频繁的切换项目(我指的是IDEA),频繁的编译、安装。


这样划分你不会存在相互依赖的问题嘛。

我现在也是想这么分,但是会存在相互依赖,导致编译不成功。

如果存在相互依赖,你是怎么解决的啊。有没有好的思路。

谢谢

返回顶部
顶部