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 项目的启动方式。

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

67,739

社区成员

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

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

你们学习,我来评分

每周最高分送一本书

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

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

 

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