SB07 结构详解(1)程序开发目录main下一级(2)配置文件目录resources(3)测试类文件目录test(4)配置项目依赖pom.xml

梵高摔电脑 2021-11-27 13:09:29

img


打开项目之后可以看到 Spring Boot 项目的目录结构如下:

springboot
├── src/main/java
├── src/main/resources
├── src/test/java
└── pom.xml

其中 src/main/java 表示 Java 程序开发目录,这个目录大家应该都比较熟悉,唯一的区别是 Spring Boot 项目中还有一个主程序类。

src/main/resources 表示配置文件目录,与普通的 Spring 项目相比有些区别,如上图所示该目录下有** static 和 templates 两个目录,是 Spring Boot 项目默认的静态资源文件目录和模板文件目录,在 Spring Boot 项目中是没有 webapp 目录的,默认是使用 static 和 templates 两个文件夹**。

src/test/java 表示测试类文件夹,与普通的 Spring 项目差别不大。

pom.xml 用于配置项目依赖。

Maven中的pom.xml依赖详解

根元素project下的dependencies结点可以包含一个或者多个dependency元素,以声明一个或多个项目依赖。

mysql mysql-connector-java 8.0.21 javax.servlet javax.servlet-api 4.0.1 provided junit junit 4.12 test

groupId,artifactId和version:依赖的基本坐标,对于一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖。

type:依赖的类型,对应于项目坐标定义的packaging。大部分情况下,该元素不必声明,默认值为jar。

scope:依赖的范围。
compile:编译依赖范围(默认值)。使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。(可省略)
test:测试依赖范围。典型的例子是jUnit,只有在编译测试代码及运行测试的时候才需要。
provided:已提供依赖范围。使用此依赖范围的Maven依赖,对于编译和测试classpath有效,运行时无效。
runtime:运行时依赖范围。对于测试和运行classpath有效,但在编译主代码时无效。典型的例子是JDBC驱动实现,项目主代码的编译只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驱动。
system:系统依赖范围。该依赖与三种classpath的关系,和provided依赖范围完全一致。但是,使用system范围的依赖时,必须通过systemPath元素显式的指定依赖文件的路径。由于此类依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,可能造成构建的不可移植,因此应该谨慎使用。
import:导入依赖范围。

optional:标记依赖是否可选。如果设为true,那么在A依赖B,B依赖于X和Y,且X和Y都可选时,此时,默认情况下,A是不依赖于X和Y的,如果A需要依赖X,那么需要在A中显式的声明X。

exclusions:用来排除传递性依赖。

版权声明:本文为CSDN博主「零碎@流年絮语」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44824148/article/details/108802755

以上即为 Spring Boot 项目的目录结构,与普通的 Spring 项目存在一些差异,不过在平常开发过程中,这个差异的影响并不大,说到差别较大的地方可能是部署和启动方式的差异,接下来学习 Spring Boot 项目的启动方式。

...全文
99 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,944

社区成员

发帖
与我相关
我的任务
社区描述
灌水发信息每周送书 灌水发干货每周送惊喜 谁最水过年送大礼 谁最硬核过年送大礼 谁最贡献过年送大礼
社区管理员
  • 1_bit
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

我们“新手村”社区就是大家的孵化器

你们学习,我来评分

每周最高分送一本书

每月第四周送一份机械键盘

咱们新手村使用一切狂暴手段让优秀的人得到奖励

 

试试用AI创作助手写篇文章吧