spring - 我可以在 Spring 应用程序中创建多个 ServicelocatorFactoryBean 实例吗?
问题描述
我的应用程序中有不同的功能。对于这些多种功能,创建了不同的组件。在其中一个组件(在我的 war 文件中创建为 jar)中,比如组件 A,我已用于ServiceLocatorFactoryBean
定位服务。现在我想ServiceLocatorFactoryBean
在另一个组件中使用,比如组件 B。在不同的组件中使用它时,我得到:
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.
我假设发生这种情况是因为ServiceLocatorFactoryBean
在组件 A 中已经创建了一个。任何人都可以帮助解决这个问题吗?
在组件 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;
}
}
解决方案
推荐阅读
- aws-lambda - 使用 Amplify、Stripe Checkout 和 AWS Lambda
- android - Android SurfaceComposerClient
- c++ - 如何在犰狳 C++ 中修改矩阵中的某些列
- node.js - 在 Axios 请求中获取最终 URL
- python - 如何计算两个 3D 阵列之间的 RMSE 作为输出另一个 3D 阵列?
- node.js - 将文件作为前端的输入并创建该文件的读取流
- laravel - Laravel 验证规则:检查输入数组索引
- javascript - 无效的 JSON 响应 - C# MVC
- internet-explorer - 如何为基于 Internet Explorer 的应用程序运行 Accessibility Insights for Web
- python - 尝试在 Python 中生成正弦波“.wav”文件。以方波形式出现