我是一个相对较新的Java,作为一个JS开发人员,在SpringBoot应用程序上工作,我看到了一个让我的好奇心高峰的模式:
在其中Application.java有几个import类,然后exclude在其中标记@SpringBootApplication,例如
import org.springframework.boot.autoconfigure.data.database.DataBaseAutoConfiguration;
...
@SpringBootApplication(
exclude = {DataBaseAutoConfiguration.class, ...}
)
Run Code Online (Sandbox Code Playgroud)
DataBaseAutoConfiguration 除了这里,代码库中没有其他任何地方引用.
有人可以解释这种模式的目的吗?import这个类感到奇怪,然后立即exclude在配置中
为什么不喜欢这样的:
exclude = {"DataBaseAutoConfiguration", ...} 然后在Spring中查找要忽略的类,避免明显的"无用"导入?
要么:
// import nothing
@SpringBootApplication
Run Code Online (Sandbox Code Playgroud)
tl; dr import是一种Java语言特性,exclude是一种Spring Boot功能.
您必须在import类中引用它们.在exclude这种情况下是特定于春引导和简单地指示Spring上下文来不会触发任何配置豆内DataBaseAutoConfiguration.从技术上讲,exclude是@SpringBootApplication注释中的一个字段.
只需要导入,以便您可以DataBaseAutoConfiguration在代码中引用.如果没有导入,您将收到编译错误.
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |