一、springboot项目结构图
在介绍springboot项目结构之前,先看一下springboot项目结构图:
如上图所示,是一个典型的springboot项目结构。下面我们将对这些目录进行逐一解释。
二、springboot项目结构规范
springboot项目结构遵循以下规范:
src/main/java
目录下放置java源代码,按照包的形式进行组织src/main/resources
目录下放置资源文件,如配置文件、模板、静态文件等src/test/java
目录下放置测试代码- 除了这些目录外,其他的目录结构根据开发者自己的需求来定
三、springboot项目案例
以一个典型的springboot项目为例,看一下各目录结构的作用:
src/main/java/com/example/demo
:主代码目录,包含了项目的启动类和各种业务代码src/main/resources/application.yml
:springboot应用程序的配置文件src/main/resources/static
:静态资源目录src/main/resources/templates
:模板文件目录src/main/test
:测试代码目录
四、springcloud项目架构
在分布式系统中,一个大型的仓库中可能会存在着多个微服务项目。这时,springcloud结合springboot可以轻松地实现微服务的架构。下面是一个典型的springcloud项目结构:
在上图中,各目录结构的作用为:
cloud-eureka-server
:eureka注册中心cloud-zuul-server
:API网关cloud-service-provider
:服务提供者cloud-service-consumer
:服务消费者cloud-common
:公共代码库
五、springboot技术架构图
下面是一张springboot项目的技术架构图:
如上图所示,springboot应用由Servlet容器、spring boot框架、配置文件、用户代码组成。
六、springboot项目架构图
下面是一张springboot典型的项目架构图:
在上图中,我们可以看到,springboot项目被划分为了多层。对于一个典型的web应用,可能会包含以下几层:
- controller层:接收请求,处理业务逻辑
- service层:为controller层提供各种业务服务
- dao层:与数据库交互,进行数据操作
- model层:数据模型层,对数据库中的数据进行封装
- utils层:提供各种工具类
- configs层:提供各种配置文件
七、spring boot项目目录
下面是一个完整的springboot项目目录结构:
├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── example │ │ └── demo │ │ ├── controller │ │ ├── dao │ │ ├── model │ │ ├── service │ │ └── utils │ ├── resources │ │ ├── application.yml │ │ ├── logback.xml │ │ ├── static │ │ └── templates │ └── webapp └── test └── java └── com └── example └── demo
八、spring项目目录结构
下面是一个完整的spring项目目录结构:
├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── example │ │ └── demo │ │ ├── config │ │ ├── dao │ │ ├── model │ │ ├── service │ │ └── web │ ├── resources │ │ ├── application.yml │ │ ├── logback.xml │ │ ├── static │ │ └── templates │ └── webapp └── test └── java └── com └── example └── demo
九、springboot结构目录选取
针对一个新的项目,我们应该按照以下原则选取目录结构:
- 根据项目中的业务功能,分层组织包结构
- 根据开发的规模,控制层数不要超过4层
- 对于一些通用的包,可以抽离出来作为公共组件