在 Spring MVC 和 Portlet在應用程式中,字段注入是指直接將依賴項注入到帶註釋的字段中的做法使用@Autowired,如以下示例所示:
@Component public class MyComponent { @Autowired private Cart cart; }
作為替代方案,構造函式註入涉及傳遞依賴作為建構函式中的參數:
@Component public class MyComponent { private final Cart cart; @Autowired public MyComponent(Cart cart) { this.cart = cart; } }
優點和缺點:
建構函式註入有幾個優點:
Setter 注入也是一種選項,提供一種注入依賴項的機制,該依賴項可能是可選的或隨時間變化的。
相反,字段注入有幾個缺點:
注入指南:
Spring 建議遵循以下指南:
結論:
考慮到場注入的缺點,通常建議支援建構子或setter注入。場注入的便利性被其潛在的缺點和限制所抵消。
以上是為什麼在 Spring 中建構函數或 Setter 注入優於字段注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!