2017-06-01 58 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