Java Spring boot使用的默认值-Spring boot starter父级
我刚开始使用SpringBoot,并了解到SpringBoot提供了默认的配置约定,因此几乎满足了80%的依赖性Java Spring boot使用的默认值-Spring boot starter父级,java,spring,spring-boot,Java,Spring,Spring Boot,我刚开始使用SpringBoot,并了解到SpringBoot提供了默认的配置约定,因此几乎满足了80%的依赖性 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version&g
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
考虑上面版本的SpringBootStarter父级,我如何知道SpringBoot将为我的项目提供什么默认设置?有没有办法找到它要选择的默认值
有人能帮我理解一下吗?Spring boot有一种叫做启动器的东西。初学者是一组方便的依赖项,您可以将它们包含在项目中以帮助实现某些目标 引导启动器包括自动配置支持、日志记录和YAML 安全、数据jpa、mongodb等方面都有先行者
您可以在此处查看:您可以使用两个内置的maven目标来获取有关pom中继承的依赖项和内容的信息: 显示依赖关系树。 将有效的POM显示为构建的XML。 第一个重点关注依赖项及其来源,第二个重点关注依赖项和概要文件解析后生成的pom.xml 此外,Spring Boot依赖于 注意,这些maven目标可以通过指定要分析的工件来使用。 例如,要获得org.springframework.boot:springbootstarter父级:2.0.0.RELEASE依赖项的有效pom,请运行它:
mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:effective-pom -Dartifact=org.springframework.boot:spring-boot-starter-parent:2.0.0.RELEASE
它将输出如下内容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<packaging>pom</packaging>
<name>Spring Boot Starter Parent</name>
<description>Parent pom providing dependency and plugin management for applications
built with Maven</description>
<url>https://projects.spring.io/spring-boot/#/spring-boot-starter-parent</url>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
<developers>
<developer>
<name>Pivotal</name>
<email>info@pivotal.io</email>
<organization>Pivotal Software, Inc.</organization>
<organizationUrl>http://www.spring.io</organizationUrl>
</developer>
</developers>
<scm>
<url>https://github.com/spring-projects/spring-boot/spring-boot-starter-parent</url>
</scm>
<properties>
<activemq.version>5.15.3</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
<appengine-sdk.version>1.9.62</appengine-sdk.version>
<!-- and so for -->
如果pom依赖于spring boot starter数据jpa,则可能会输出以下内容:
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:2.0.0.RELEASE:compile
[INFO] | \- org.hibernate:hibernate-core:jar:5.2.14.Final:compile
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] \- org.springframework.boot:spring-boot-starter-web:jar:2.0.0.RELEASE:compile
[INFO] \- org.hibernate.validator:hibernate-validator:jar:6.0.7.Final:compile
默认值是什么?启动父级所做的就是引入您的Spring Boot版本所需的所有Maven依赖项。它是否定义了要使用的jar版本,包括project jar自定义代码jarsNo,除了Spring Boot所需的之外,您还添加了所需的内容。他们不知道你的要求。您可以打开父pom,查看它们带来了什么。 [INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:2.0.0.RELEASE:compile [INFO] | \- org.hibernate:hibernate-core:jar:5.2.14.Final:compile [INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile [INFO] | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile [INFO] \- org.springframework.boot:spring-boot-starter-web:jar:2.0.0.RELEASE:compile [INFO] \- org.hibernate.validator:hibernate-validator:jar:6.0.7.Final:compile