理解 Spring @Autowired 用法
Spring 的 @Autowired 註解簡化了依賴注入,消除了明確 XML 配置的需要。它允許 Spring 自動識別依賴項並將其註入到 bean 類別的指定欄位或 setter 方法中。
深入解釋
在XML 檔案中,
範例
提供的範例示範了Java 類別中@Autowired 的用法:
public class SimpleMovieLister { @Autowired public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } }
在此範例中,setMovieFinder 方法需要一個MovieFinder 實例,Spring 將自動尋找該實例並注入。
public class MovieRecommender { @Autowired public void prepare(MovieCatalog movieCatalog, CustomerPreferenceDao customerPreferenceDao) { this.movieCatalog = movieCatalog; this.customerPreferenceDao = customerPreferenceDao; } }
本範例使用 @Autowired 註解將多個相依性注入到單一方法中。
解決依賴衝突
情況當多個bean實作相同的介面(如Color)時,您可以使用@Qualifier註解來明確指定要注入的bean 。或者,您可以使用 @Resource 註解,它結合了 @Autowired 和 @Qualifier 的功能。
@Resource(name="redBean") public void setColor(Color color) { this.color = color; }
最佳實踐
使用@Autowired 的良好實踐包括:
以上是Spring的@Autowired註解如何簡化依賴注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!