gpt4 book ai didi

java - Spring 启动: how can @EnableAutoConfiguration be re-used?

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:55 27 4
gpt4 key购买 nike

目前,我通过以下方式指定 Spring Boot 自动配置排除:

@EnableAutoConfiguration(exclude = { ... })
@ComponentScan("my.company")
class Application {
static void main(String[] args) {
...
}
}

由于 Spring Boot 将在公司范围内使用,我们希望提供一些默认配置类,例如 MyCompanyDefaultConfiguration 以及一些自动配置排除项,并且仅在需要时为每个应用程序指定附加排除项。

类似这样的事情:

@Import(MyCompanyDefaultConfiguration.class)
@EnableAutoConfiguration(exclude = { /* application specific excludes */ })
class Application {
static void main(String[] args) {
...
}
}

@EnableAutoConfiguration(exclude = { /* company-wide excludes */ })
@ComponentScan("my.company")
class MyCompanyDefaultConfiguration {
...
}

我在某处读到这不起作用,因为每个应用程序应该只有一个 @EnableAutoConfiguration 注释,因为 Spring Boot 只会考虑第一个找到的注释。在本例中是 Application 类中的一个。

考虑到这一限制,以可重用的方式组织此配置的解决方案是什么?

最佳答案

做一个带注解的注解,就像@EnableAutoConfiguration本身就是一个带注解的注解。

@EnableAutoConfiguration(exclude = { /* application specific excludes */ })
public @interface MyCompanyEnableAutoConfiguration {
}

并使用它

关于java - Spring 启动: how can @EnableAutoConfiguration be re-used?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44261560/

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