假设我有一个基础项目,我将在其他项目中用作依赖项。在这个基础项目中,我有一个我想要进行自定义的组件。为了简化,我们称之为工具。 Base项目正在使用不同类别的工具。 是否可以重写新项目中Tools组件的方法,并使Base使用重写的方法?从依赖关系覆盖@Component
对不起,如果这是一个基本的问题,但我没有找到任何关于此。
假设我有一个基础项目,我将在其他项目中用作依赖项。在这个基础项目中,我有一个我想要进行自定义的组件。为了简化,我们称之为工具。 Base项目正在使用不同类别的工具。 是否可以重写新项目中Tools组件的方法,并使Base使用重写的方法?从依赖关系覆盖@Component
对不起,如果这是一个基本的问题,但我没有找到任何关于此。
如果您扫描原始组件bean的原始软件包,请停止扫描软件包并自行扩展并扫描新实现的软件包。它应该工作。换句话说,你可以定义一个BeanPostProcessor
并将其替换为你的。两者都应该正常工作。
谢谢,BeanPostProcessor正在取代组件。 – Smaniotto
已经有一段时间了,但我想分享一个非常简单的方法来做到这一点。我简直不敢相信它有多简单。
只需扩展想要覆盖的组件,并在其中添加@Primary即可。现在
@Component
public class Parent {
@Primary
@Component
public class Child extends Parent {
,您的应用程序将使用儿童家长,而不是家长那里被@Autowired
认为你会需要根据事件代码与事件处理程序。 –