繁体   English   中英

Spring Boot:如何重用@EnableAutoConfiguration?

[英]Spring Boot: how can @EnableAutoConfiguration be re-used?

目前我正在指定我的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 {
}

并使用它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM