【问题标题】:How Spring boot giving the dependencies and configuration?Spring boot 如何提供依赖项和配置?
【发布时间】:2016-01-04 07:57:42
【问题描述】:

我了解 Spring boot 的概念,但我正在寻找它是如何实现的逻辑以及它在哪里维护配置。当我们立即添加任何 Starter-pom 时,它会提供依赖项和所需的配置。它是如何自动化该功能的,以及 Spring Boot 中的自动化代码在哪里?

提前致谢

【问题讨论】:

  • 我认为这是由 IDE 完成的。
  • 我怀疑它是由 IDE 完成的。不需要IDE;如果您愿意,可以从命令行使用 mvn 构建它。
  • 我已经浏览了 Spring boot Git 代码和 Struck,只有 POM 文件和 Spring.provides 文件。我没有明白逻辑,所以来这里..
  • 对Spring Boot不熟悉,但是你说的好像是Maven的工作。 Maven 可传递地检索项目的依赖关系。

标签: java spring maven spring-boot


【解决方案1】:

Spring Boot 的配置类在模块spring-boot-autoconfigure 中。入门 POM 依赖于它(通过通用 spring-boot-starter 模块)和所需的第 3 方库,然后激活该库的自动配置。

【讨论】:

    【解决方案2】:

    已将 SpringBoot 项目放在那里,以便提高生产力并立即构建生产就绪的应用程序。 SpringBoot项目引用了很多starter项目,如spring-boot-starter-jdbc、spring-boot-starter-logging等。所有这些starter库就像maven子模块项目,它们依次向各自的项目添加一组库。像 spring-boot-starter-jdbc 库添加这些库 -> spring-jdbc,spring-tx,tomcat-jdbc.
    现在对于配置部分,spring boot 维护了另一个名为 spring-boot-autoconfigure 的库,它根据 pom 上存在的库和应用程序上使用的初始配置注释集自动配置所有需要的配置。例如。如果它看到您的 pom 中存在 ojdbc jar,那么它将自动将 oracle 数据源配置到您的项目中

    【讨论】:

      【解决方案3】:

      据我所知,Spring Boot 不提供此功能。这是Maven的力量。 Maven 允许您声明依赖项,并且依赖项本身,加上传递依赖项将被检索。

      starter POM 只是普通的 Maven POM 类型的工件,它声明了基本依赖项,因此,当您包含在自己的 POM 中时,相关的依赖项将被下载。

      您可以通过Maven SiteMaven Guide by Sonatype 对Maven 有更多的了解

      【讨论】:

      • 只是想知道为什么要投反对票?想知道我的答案的哪一部分不正确,以便我解决。
      猜你喜欢
      • 2017-09-29
      • 1970-01-01
      • 2019-01-04
      • 2019-03-14
      • 2022-12-18
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      相关资源
      最近更新 更多