我正在开发一个巨大的应用程序,其中包含数千个使用注解注册并使用@Autowired 相互连接的 Spring bean 该应用程序将作为“核心”应用程序发布,我们的客户应该能够自定义它,添加或覆盖 beans。 如果他们必须修改一个 bean,常规方法是扩展类并使 Spring 上下文注册自定义类而不是“核心”类,但是这样做 Spring 会抛出一个错误,因为它找到同一接口(interface)的两个实现。 我怎样才能做到这一点? 我们的客户如何才能“注销”核心类并注册自定义类?
非常感谢!
最佳答案
You can use a Qualifier. They identify beans by name, not by type.
您还可以将该字段设置为 bean 列表。
@Autowire
private Foobar[] customizedAndCore;
关于java - 如何避免 "two bean definitions found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25886805/