我目前有一個在類方法中使用服務類的類。目前我正在我的方法中創建服務類的實體,如下所示。我想知道的問題是,在測驗方面,我使用的是 spock,當在方法中創建類的新實體而不是作為依賴注入的建構式引數傳入時,似乎很難測驗. 我想知道將 Service 類的實體作為建構式引數傳遞給 Handler 是正確的方法嗎?謝謝
public class Handler{
private Service service;
public Handler(){}
public void someMethod(ObjectNeededForService object){
service = new Service(object);
}
}
uj5u.com熱心網友回復:
這是一個棘手的問題,你會找到不同的答案。如果我理解正確,您基本上是在問建構式注入是否比設定器注入更好,反之亦然,對嗎?
顯然,當您的類中的欄位數量有限時,建構式注入很簡潔。具有 20 個 args 的建構式可讀性不強,絕對應該避免使用。在這種情況下,您將不得不使用設定器注入并一一呼叫各個欄位的設定器。
但也許如果你有一個需要注入的欄位太多的類,那么重構并將你的依賴項減少到更小的數量會很好。
就我個人而言,我更喜歡建構式注入,但也有人反對它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/435071.html
上一篇:替換SpringBoot2.6.4的ConditionalOnEnabledEndpoint
下一篇:片段中的警報對話框,應用程式崩潰