我可以在Spring应用程序中创建ServicelocatorFactoryBean的多个实例吗?

时间:2020-06-10 07:54:47

标签: spring

我的应用程序中有不同的功能。对于这些多种功能,将创建不同的组件。 在组件之一(在我的war文件中创建为jar)中,例如组件A,我使用ServiceLocatorFactoryBean来定位服务。 现在我想在另一个组件(例如组件B)中使用ServiceLocatorFactoryBean。在另一个组件中也使用它时,我会得到:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.kronos.payroll.aggregation.registry.PayrollServiceRegistry' available: expected at least 1 bean which qualifies as autowire candidate.

我认为这是因为组件A中已经创建了ServiceLocatorFactoryBean。任何人都可以帮忙吗?

在组件A中,

@Configuration
public class ProductConfig {

    @Bean
    public FactoryBean factoryBean() {
        final ServiceLocatorFactoryBean bean = new ServiceLocatorFactoryBean();
        bean.setServiceLocatorInterface(ServiceRegistry.class);
        return bean;
    }

}

在组件B中:

@Configuration
public class PayrollProductConfig {

    @Bean("payrollServiceRegistry")
    public FactoryBean factoryBean() {
        final ServiceLocatorFactoryBean bean = new ServiceLocatorFactoryBean();
        bean.setServiceLocatorInterface(PayrollServiceRegistry.class);
        return bean;
    }
}

0 个答案:

没有答案