我只是从Spring引导开始,才知道在Spring引导中,它提供了“默认值”(约定优于配置),因此可以满足几乎80%的依赖性。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
考虑以上版本的spring-boot-starter-parent
,我如何知道我的项目将建议的默认默认Spring Boot?有没有办法找到它将选择的默认值?
有人可以帮我理解吗?
答案 0 :(得分:0)
Spring Boot具有所谓的Starters。入门程序是一组方便的依赖项,可以将其包含在项目中以帮助实现某些目标。
启动程序包括自动配置支持,日志记录和YAML。
对于安全性,数据(jpa),mongodb等,有一些入门。
您可以在这里看看:https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/htmlsingle/#using-boot-starter
答案 1 :(得分:0)
您可以使用两个内置的Maven目标来获取有关pom中依赖项和继承的事物的信息:
mvn dependency:tree
以显示依赖关系树。 mvn help:effective-pom
,以将有效的POM显示为构建的XML。 第一个专注于依赖关系(及其起源),第二个专注于经过依赖关系(和配置文件)解析的结果pom.xml。
此外,Spring Boot依赖于some common properties with sometimes default values。
请注意,可以通过指定要分析的工件来使用这些maven目标。
例如,要获取org.springframework.boot:spring-boot-starter-parent: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 -->
类似地,您只能为某些工件/组输出依赖关系树。
要仅过滤名称中包含“休眠”的工件/组,可以执行以下操作:
mvn dependency:tree -Dincludes=*hibernate*
如果您的pom依赖于spring-boot-starter-data-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