摘要
讲道理,每个项目都有自己的结构,大家都各不相同,这里讲一个我比较喜欢Web项目模块结构风格,感觉还不错,整体项目结构清晰。
一、项目结构说明
项目整体结构如下:
ftp_server
- ftp_server-api
- ftp_server-service
- ftp_server-web
1、其中api为该项目对外提供的接口,其中主要为dubbo接口。
2、service主要为业务实现,以及一些dao层操作,其中也包含了api中对外接口实现。
3、web主要提供对外的web接口,主要提供http服务等,当web端需要调用service层业务时,也采用dubbo形式调用service模块,所以web端需要提供正常服务时,service服务必须正常提供。
结构说明
:其中ftp_server为parent包含了三个模块,api、service以及web三个子模块。web和service之间采用dubbo形式调用,当需要web端提供服务时,service也必须给web模块提供正常的服务,这样做的好处在于service模块较为独立,可以单独启动,当有另一个系统需要调用该系统的service模块时,直接启动service模块即可。
二、关于pom文件
其中ftp_server为所有模块的父级,所以该目录的pom中的依赖会被继承,并且该pom文件中添加三个子模块,如下,形成这种依赖关系,当父模块直接打包时,会把所有子模块都一起打包。