gpt4 book ai didi

java - Spring Boot 导入的目的,然后排除模式?

转载 作者:行者123 更新时间:2023-12-01 16:45:03 28 4
gpt4 key购买 nike

我对 Java 比较陌生,作为一名 JS 开发人员,在 SpringBoot 应用程序上工作时,我看到了一种激发了我好奇心的模式:

Application.java内有几个import类,然后标记为 exclude @SpringBootApplication内,例如

import org.springframework.boot.autoconfigure.data.database.DataBaseAutoConfiguration;
...
@SpringBootApplication(
exclude = {DataBaseAutoConfiguration.class, ...}
)

DataBaseAutoConfiguration除了这里之外,代码库中的其他任何地方都没有引用。

有人可以解释一下这个模式的目的吗? import感觉很奇怪然后立即上课exclude它在配置中

为什么不拥有类似的东西:

exclude = {"DataBaseAutoConfiguration", ...}然后在 Spring 中查找要忽略的类,避免明显的“无用”导入?

或者:

// import nothing
@SpringBootApplication

最佳答案

tl;dr import 是 Java 语言功能,exclude 是 Spring Boot 功能。

您必须导入类才能在代码中引用它们。在这种情况下,排除是特定于 Spring Boot 的,只是指示 spring 上下文不要触发 DataBaseAutoConfiguration 内部的任何配置 bean。从技术上讲,exclude@SpringBootApplication 注释内部的一个字段。

仅需要导入,以便您可以在代码中引用DataBaseAutoConfiguration。如果没有导入,您将收到编译错误。

关于java - Spring Boot 导入的目的,然后排除模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53328637/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com