可配置组件扫描

Configurable Component Scan

有没有办法使组件扫描可在外部或通过中间解析器进行配置class?我的要求是,一个公共图书馆应该包括一个或多个其他较小的设施(每个设施都有自己的控制器、服务等),具体取决于这些设施是 "configured" 还是需要 - 例如在应用程序属性中。

我能看到的最接近设计的可能性是在公共库中声明一个@Configuration class 并将其保存在组件扫描 class 路径中(总是)。在此 class 我需要一些方式来说明以下是允许的扫描路径(基于下游项目如何配置其应用程序属性)。

似乎 TypeFilter 自定义实现应该可以做到。但是我如何从类型过滤器实现中读取应用程序属性(注释只需要 .class,所以 Spring 必须初始化它。

还有其他方法吗?谢谢!

此致, 阿纳布

document 描述了如何创建您自己的自动配置。它允许您读取属性并使用 @Conditional 注释的多种变体。