我有两个项目:A 和 B。我在项目 A 中创建了一个 bean,如下所示:
@Configuration
public class ConnectorConfiguration {
@Bean(name = "CON")
public ConnectorRegistry connectorRegistry() {
return new LocalConnectorRegistry();
}
}
然后在项目 BI 中向 bean 添加数据,如下所示:
@Configuration
public class SomeClass {
@Inject
private ConnectorRegistry connectorRegistry;
@Bean
public Connector SomeClass Connector() {
Connector connector = new BaseConnector(BLA, contextFactory);
connectorRegistry.register(connector);
return connector;
}
}
当我回到项目 AI 有这个类:
@Service
@DependsOn("CON")
public class SomeWorker {
@Autowired
private ConnectorRegistry connectorRegistry;
但是connectorRegistry
这里是空的,即使我向它添加了数据并且我知道,通过查看 spring live bean 图,bean 是这样的依赖关系:
SomeWorker ----> CON <----- SomeClass
因此,如果SomeClass
和SomeWorker
都在同一个 bean 上,那么它不应该为空。我在这里想念什么?
编辑:
在我通过这样的主类A
调用的项目中,也许它与问题有关:SomeWorker
SpringBoot
/**
* Application entry point
*/
@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
@ComponentScan(value = "com.other.components")
public class MainApp
extends MainAppSpringBootApplication {
public MainApp() {
super(SomeClass.class);
}
public static void main(String[] args) {
ConfigurableApplicationContext ctx = new SpringApplicationBuilder(MainApp.class)
.initializers(new ZooKeeperPropertiesApplicationContextInitializer())
.run(args);
}
}