Я не знаю, возможно это или нет, но у меня есть другой подход, который может помочь:
Добавить файл конфигурации для хранения типа вашего bean-компонента, скажем, есть две реализации OrderingService
один - FAKE
и DEFAULT
, чтобы он был только во время выполнения, вы должны объявить оба bean-компонента в контексте проекта, как показано ниже:
@Bean
OrderingService fakeOrderingService() {
return new FakeOrderingService();
}
@Bean
OrderingService defaultOrderingService() {
return new DefaultOrderingService();
}
Если вам нужен один из них, у вас есть чтобы добавить ConditionalOnProperty, как показано ниже:
@Bean
@ConditionalOnProperty("app.config.type", havingValue = "FAKE")
OrderingService fakeOrderingService()..
@Bean
@ConditionalOnProperty("app.config.type", havingValue = "DEFAULT", matchIfMissing = true)
OrderingService defaultOrderingService()...
matchIfMissing = true
, что поможет, если конфигурация не добавлена в вашей среде, поэтому Spring будет автоматически подключать defaultOrderingService
в случае отсутствия свойства или если значение свойства равно DEFAULT
, и fakeOrderingService
, если значение свойства FAKE
Надеюсь, это поможет