springboot项目层次结构_SpringBoot Web项目结构梳理

摘要

讲道理,每一个项目都有本身的结构,你们都各不相同,这里讲一个我比较喜欢Web项目模块结构风格,感受还不错,总体项目结构清晰。git

1、项目结构说明

项目总体结构以下:github

ftp_serverweb

ftp_server-api

ftp_server-service

ftp_server-web

一、其中api为该项目对外提供的接口,其中主要为dubbo接口。

二、service主要为业务实现,以及一些dao层操做,其中也包含了api中对外接口实现。

三、web主要提供对外的web接口,主要提供http服务等,当web端须要调用service层业务时,也采用dubbo形式调用service模块,因此web端须要提供正常服务时,service服务必须正常提供。api

结构说明:其中ftp_server为parent包含了三个模块,api、service以及web三个子模块。web和service之间采用dubbo形式调用,当须要web端提供服务时,service也必须给web模块提供正常的服务,这样作的好处在于service模块较为独立,能够单独启动,当有另外一个系统须要调用该系统的service模块时,直接启动service模块便可。svg

2、关于pom文件

其中ftp_server为全部模块的父级,因此该目录的pom中的依赖会被继承,而且该pom文件中添加三个子模块,以下,造成这种依赖关系,当父模块直接打包时,会把全部子模块都一块儿打包。code

ftp_server-api

ftp_server-service

ftp_server-web

其中,子模块不须要写groupId以及artifactId以及版本号,直接继承父模块便可,当版本升级的时候统一升级,防止版本错乱问题。server

3、项目示例

采用该结构的项目已上传至gitub,示例项目地址xml

你可能感兴趣的:(springboot项目层次结构_SpringBoot Web项目结构梳理)