2017-06-01 60 views
0

假设我有一个基础项目,我将在其他项目中用作依赖项。在这个基础项目中,我有一个我想要进行自定义的组件。为了简化,我们称之为工具。 Base项目正在使用不同类别的工具。 是否可以重写新项目中Tools组件的方法,并使Base使用重写的方法?从依赖关系覆盖@Component

对不起,如果这是一个基本的问题,但我没有找到任何关于此。

+0

认为你会需要根据事件代码与事件处理程序。 –

回答

1

如果您扫描原始组件bean的原始软件包,请停止扫描软件包并自行扩展并扫描新实现的软件包。它应该工作。换句话说,你可以定义一个BeanPostProcessor并将其替换为你的。两者都应该正常工作。

+0

谢谢,BeanPostProcessor正在取代组件。 – Smaniotto

0

已经有一段时间了,但我想分享一个非常简单的方法来做到这一点。我简直不敢相信它有多简单。

只需扩展想要覆盖的组件,并在其中添加@Primary即可。现在

@Component 
public class Parent { 

@Primary 
@Component 
public class Child extends Parent { 

,您的应用程序将使用儿童家长,而不是家长那里被@Autowired