Когда я создаю GatewayProxyFactoryBean
для интерфейса в IntegrationFlow
:
public interface TempConverter {
float fahrenheitToCelcius(float fahren);
}
@Bean
public IntegrationFlow convertFlow() {
f -> f
.from(Tempconverter.class) // creates an instance of TempConverter
.transform(...)
}
и я внедряю этот интерфейс в другом месте
@Configuration
class OtherConfiguration {
public OtherConfiguration(TempConverter tempConverter) {... }
}
, тогда Spring (5.1.5.RELEASE) не определяет, что другая конфигурация зависит от этого интерфейса, и контекст не запускается, жалуясь на отсутствующий экземпляр TempConverter.
В качестве обходного пути я могу аннотировать другую конфигурацию и сообщить ей, что convertFlow
должен существовать первым:
@DependsOn("convertFlow")
Но это хрупко, оно ломается, если convertFlow
переименовано.Есть ли лучший способ?