理解 Spring @Autowired 用法
@Autowired 註解消除了在 XML 配置中手動連接的需要。它根據類型匹配自動注入依賴項。
自動連線範例
讓我們回顧一下範例類別:
public class SimpleMovieLister { private MovieFinder movieFinder; @Autowired public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder; } } public class MovieRecommender { private MovieCatalog movieCatalog; private CustomerPreferenceDao customerPreferenceDao; @Autowired public void prepare(MovieCatalog movieCatalog, CustomerPreferenceDao customerPreferenceDao) { this.movieCatalog = movieCatalog; this.customerPreferenceDao = customerPreferenceDao; } }
如何Spring Autowires 多個實作Bean
中@Autowired 聲明,Spring使用參數類型(MovieCatalog 和 CustomerPreferenceDao)來搜尋符合的 bean。如果找到多個符合的 Bean,則會引發異常。處理相同類型的 Bean
如果您的應用程式有多個實作相同介面的 Bean,您可以使用@Qualifier 註解指定應注入哪個 bean。@Qualifier("redBean") class Red implements Color { // Class code } @Qualifier("blueBean") class Blue implements Color { // Class code } // Main Class @Autowired @Qualifier("redBean") private Color color;
@Resource(name="redBean") private Color color;
最佳實踐
最佳實踐
最佳實踐
最佳實踐考慮使用@Inject(JSR-330的一部分)而不是@Autowired為了便攜性。此外,建議註釋構造函數而不是方法,以便更好地處理異常。 結論@Autowired 透過自動化 Bean 連接過程來簡化依賴注入,確保所需的依賴項被注入到需要的地方。透過採用最佳實踐,您可以確保 Spring 應用程式中高效可靠的自動組裝。以上是Spring的@Autowired註解如何處理依賴注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!