簡體   English   中英

Spring構造函數自動裝配和初始化其他字段

[英]Spring constructor autowiring and initializing other field

我有一個Spring類,在那里我使用構造函數自動裝配服務,加上在同一個構造函數中我正在初始化同一個類的其他字段。

@Component
class Converter {
  private TestService testService;
  private Interger otherFields;
  @Autowired
  public Converter(TestService testService) {
     this.testService = testService;
     this.otherFields = new Integer(10);
  }
}

我的功能工作正常,但這是一個好的做法嗎? @Autowired注釋會對其他otherFields初始化過程產生任何影響

它不應該。 回到xml時代,當你想將一個參數傳遞給構造函數時,你提到了構造函數arg的ref bean。 這只意味着您必須具有將指定的bean類型作為參數的構造函數。 你在構造函數中添加的內容並不重要,只要你通過構造函數創建一個有效的對象(雖然這只是普通的java編程而與Spring無關)。

自動連接只是一種簡單的方法來創建具有必要依賴關系的對象,而您的代碼仍然是您的代碼。

沒有。

當Spring實例化你的類時,它將找到用@Autowired注釋的構造函數,收集與構造函數所采用的參數對應的bean,然后將這些bean作為參數調用它。

然后,它將掃描您班級中的所有字段和方法,並將bean注入任何使用@Autowired注釋的字段。 它不會觸及未注釋的方法或字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM