spring boot 中的 Parent POM 和 Starter 的作用什么?(☆☆☆)

2,022 total views, 3 views today

Parent POM
spring boot 推荐在 maven 中,继承 spring-boot-starter-parent 来作为父项目。因为继承 spring-boot-starter-parent 项目,就获得一些合理的默认配置。使用这个 pom,可以统一项目中的版本依赖,从而避免了潜在的版本冲突。这个 parent 提供了以下特性:

Maven 配置如下:

通过代码跟踪方式,跟踪到这个 pom 的 parent,一直到 Spring Boot Dependencies 这个 POM 文件,可以看到如下的版本信息 (部分摘要)

 

某些场景下,不希望使用 parent pom。那么就需要用的 scope 的 import 配置。


注意:import scope 只能用在 dependencyManagement 里面。

Maven 中的 dependencyManagement 管理了所有依赖的版本号。
在 dependencyManagement 元素中声明 jar 包的版本信息,那么子项目再次引用相应 jar 包时则无需指定版本号。Maven 会沿着父子层级向上寻找 dependencyManagement 元素,然后使用其指定的版本号。
<scope>import</scope> 设置从其它的 pom 文件中导入依赖设置。
上例中,设置了相关的依赖从 spring-boot-dependencies 这个 pom 中导入。
Starter
Spring Boot 提供了一组“Starters” ,格式如: spring-boot-starter-XXX。例如:spring-boot-starter-web,spring-boot-starter-data-elasticsearch。
这些 Starters 是一组约定好的依赖,给用户提供一站式的方便,只需要依赖这一个包,就等于依赖了一组相关的包。
举个例子:
用 SpringBoot 开发 web 的时候,一般引用 spring-boot-starter-web,spring-boot-starter-web 帮我们自动引入了如下 5 个包:
spring-boot-starter
spring-boot-starter-json
spring-boot-starter-tomcat
hibernate-validator
spring-web
spring-webmvc
可以从官方文档查看,也可根据 maven 命令$ mvn dependency:tree 查看
官方提供的 Spring Boot 预定义的 starter 可以去官网查看:
https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/reference/htmlsingle/#using-boot-starter

原创文章,转载请注明出处!http://www.javathings.top/spring-boot中的parent-pom和starter的作用什么?(☆☆☆)/

About: wusq


发表评论

邮箱地址不会被公开。 必填项已用*标注