当前位置: 首页 > 知识库问答 >
问题:

为什么使用spring.factories进行Spring Boot自动配置而不是注释?

窦哲彦
2023-03-14

文件规定:

开发自动配置和使用条件

如果您在开发共享库的公司工作,或者如果您在开源或商业库工作,您可能希望开发自己的自动配置。自动配置类可以捆绑在外部罐中,并且仍然可以通过Spring Boot拾取。

如果我对其他所有内容都有注释(甚至是@自动配置后注释或@自动配置前注释),

为什么要维护一个属性文件来指向一个带有注释的类?

共有1个答案

喻子航
2023-03-14

因为我们不会扫描世界来找出您的项目中存在哪些自动配置类。首先,自动配置只是一个常规的@configuration类。

找到Spring组件的方法是通过显式声明或组件扫描,但在实际启动上下文之前,我们需要知道自动配置类的列表。

 类似资料:
  • 我们有一个库,为了自动配置库,我们使用spring.factories文件(),它提供了自动配置我的库的类。 参考资料 : https://docs.spring.io/spring-boot/docs/1.4.0.M3/reference/htmlsingle/#boot-features-custom-starter 我在spring.factories文件中有以下配置: 我的理解是sprin

  • 问题内容: 是否有任何理由在属性文件上使用XML进行Log4J配置? 问题答案: 在此博客中,对这两种方法的优点进行了有趣的讨论。以下部分是该博客的引文: 可以通过属性文件或XML文件定义属性。Log4j查找名为log4j.xml的文件,然后查找名为log4j.properties的文件。 两者都必须放在src文件夹中 。 该属性文件比XML文件更详细。XML还要求将log4j.dtd放置在源文件

  • 问题内容: 使用IntelliJ启动我的应用程序时,一切工作正常。 我懂了: 似乎在中找不到自动配置类。如何添加它,该文件的内容应该是什么? 问题答案: 我有同样的问题,只是解决了。 最初,我是使用生成胖子的,该胖子创建了一个名为的文件。与我尝试运行该文件时提到的问题相同。 我认为,因为它是Spring Boot应用程序,所以你需要使用它们的插件。我将包装更改为,spring-boot-maven

  • “在Meta-INF/Spring.Factories中找不到自动配置类” 最小示例: 使用SpringInitializr(https://start.spring.io),在几秒钟内就可以创建一个迷你应用程序来复制这个问题。使用的SpringInitializr标记是:“web”和“vaadin”。 运行应用程序时使用 您将得到以下错误消息: “在Meta-INF/Spring.Factori

  • 问题内容: 请帮助我理解为什么使用CSS选择器甚至可以进行自动化测试。我在工作场所中一直使用Ghost Inspector工具为我们的东西创建许多自动化测试。该工具使您可以选择在XPath中使用CSS选择器。为什么? XPath比CSS更耐用。在某些项目/功能上,任何给定UI上的CSS几乎都会每周更改。这会使测试变得非常脆弱,并且容易被定期破坏。 是否因为大多数新的测试编写者都不想学习任何XPat