你的项目pom.xml文件中,应该存在如下代码:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.7.RELEASE</version>
</parent>
那这段代码什么意思呢?
这段代码是 Spring Boot 的父级依赖,这样当前的项目就是Spring Boot项目了。
spring-boot-starter-parent 是一个特殊的 starter,它用来提供相关的Maven默认依赖。
使用它之后,常用的包依赖可以省去 version 标签。这样就自动帮我们解决了版本兼容性问题。
当我们搭建web应用的时候,可以像下面这样添加 spring-boot-starter-web 依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
分析: spring-boot-starter-web
spring-boot-starter: 它是 SpringBoot 的 场景启动器,它针对不同场景定义了很多不同的场景启动器。你的项目需要使用哪些场景启动器,则直接加入对应场景启动器的依赖就可以了。
spring-boot-starter-web启动器用于构建web项目,它帮我们定义好了相关的依赖: 比如 SpringMVC、Tomcat等。
如下图:
Springboot多种启动器(springboot 官网截图:)
小总结:
1 . spring-boot-starter-parent:是当前项目的父依赖
2. spring-boot-starter-parent 继承 spring-boot-dependencies
3. spring-boot-dependencies里面定义了很多组件版本号,我们引用对应依赖时,不需要写<version>标签,
点击spring-boot-starter-parent 进入,结果如下图:
点击进入 spring-boot-dependencies 结果如下图:里面定义了很多版本
而对于如下代码,可以将当前项目打成一个jar包进行运行:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
那么何为依赖?
比如你是个男的,你要生孩子,呸呸呸...男的怎么生孩子,所以你得依赖你老婆。我们在平时的项目开发中也是同理,你需 要依赖一些东西才能实现相应的功能,但相应的功能或许也可以依赖其它的东西实现,就比如此处的spring-boot-starter-parent 继承 spring-boot-dependencies。
何为 starter?
Spring Boot 中的starter 只不过是把我们某一模块,比如web 开发时所需要的所有JAR 包打包好给我们而已。不过它的厉害之处在于,能自动把配置文件搞好,不用我们手动配置。所以说,Spring Boot 是简化配置。
参考:https://www.jianshu.com/p/54cdfe4e0cac https://blog.csdn.net/mottohlm/article/details/80727562