2

我有两个项目: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

因此,如果SomeClassSomeWorker都在同一个 bean 上,那么它不应该为空。我在这里想念什么?

编辑: 在我通过这样的主类A调用的项目中,也许它与问题有关:SomeWorkerSpringBoot

/**
 * 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);        
    }
}
4

0 回答 0