為什麼 Spring 的 ApplicationContext.getBean 被認為是不好的?
Spring 的 ApplicationContext.getBean() 方法可能看起來像是存取 bean 的便捷方法,但這通常被認為是不好的做法。相反,首選方法是透過使用依賴注入來接受控制反轉 (IoC) 的概念。
委託依賴注入
呼叫 ApplicationContext.getBean() 違反透過在消費類別中引入對 Spring 的依賴來遵循 IoC 原則。這使得該類別不太靈活並且更難測試。它還阻礙了輕鬆更改依賴項實現的能力。
依賴注入的好處
依賴注入提供了許多優點:
實作依賴Spring 中的注入
您應該在使用類別中聲明一個方法來接收依賴項作為參數,而不是呼叫ApplicationContext.getBean( )。 Spring 會根據 bean 配置自動注入適當的依賴。
範例設定
<bean>
Bootstrapping
中在Appmain 方法中,使用ApplicationContextgets" ) 檢索根bean“myApplication”。這個根 bean 應該依賴所有其他服務,從而消除在其他地方呼叫 getBean() 的需要。
結論
避免 ApplicationContext.getBean() 可以促進真正的 IoC Spring,產生靈活、可測試和可維護的程式碼。透過方法參數接受依賴注入允許 Spring 執行其管理依賴關係的指定角色。
以上是使用 Spring 的 ApplicationContext.getBean() 是否被視為反模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!