【发布时间】:2021-10-17 07:27:54
【问题描述】:
团队,我正在开发一个使用许多其他第三方库的 Spring Boot 应用程序。
所有这些库都建立在 spring 核心之上。
通常出现的常见问题是DuplicateBeanException。
假设如果不同库中的 bean-name 相同,那么 spring 在尝试启动服务器时会抛出错误。因为我无法控制第三方罐子。我必须在我的应用程序中重命名 bean:下面是我为处理这种情况而编写的代码 sn-p。但这不是一个有效的解决方案,因为将来可能会再次出现一些重复的 bean。如何以通用方式解决它,以便当任何重复的 bean 出现时,我的应用程序可以处理和初始化这些 bean。
我处理重复 bean 的代码:
@Configuration
public class ExternalBeanConfiguration {
@Bean(employeeLib1)
public Employee getEmployee() {
return new Employee();
}
@Bean(employeeLib2)
public com.another.library.Employee getEmployee() {
return new com.another.library.Employee();
}
}
【问题讨论】:
标签: java spring spring-boot spring-mvc