我有一个 Java 配置,其中 ServiceB 依赖于 ServiceA:
@Bean
ServiceA getServiceA() { return new ServiceA(); }
@Bean
ServiceB getServiceB() { return new ServiceB(getServiceA()); }
然后我想将 ServiceA(但没有 ServiceB)声明为一个组件。我将 @ScanPackage
添加到配置中并注释 ServiceA:
@Component
class ServiceA { .. }
现在如何声明方法getServiceB()
?
最佳答案
Spring 为 Bean 定义方法按类型自动注入(inject)方法参数:
@Bean
ServiceB getServiceB(ServiceA serviceA) {
return new ServiceB(serviceA);
}
现在您不必担心 ServiceA
是如何提供的。
关于java - 如何在 bean 定义方法中获取 spring bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42132253/