如何更改已部署應用程序中的依賴關係。因此,當應用程序啓動時,它會通過電子郵件發送通知,但在某些時候,我們應該可以通過短信更改通知。更改運行彈簧應用程序中的依賴關係
如何在Spring Boot中做到這一點?
如何更改已部署應用程序中的依賴關係。因此,當應用程序啓動時,它會通過電子郵件發送通知,但在某些時候,我們應該可以通過短信更改通知。更改運行彈簧應用程序中的依賴關係
如何在Spring Boot中做到這一點?
這就是一個策略模式工作,它沒有任何與彈簧本身
你應該有2個戰略之一的電子郵件和一個短信,在每個戰略,你會自動連接所需的豆。
檢查此鏈接戰略實施
https://www.tutorialspoint.com/design_pattern/strategy_pattern.htm
您認爲在運行時選擇所需策略的最佳方法*?除了將兩個策略注入容器並以聲明方式選擇所需的一個(通過簡單的if/switch語句),是否有更好的選擇? –
無論何時我們需要在運行時更改行爲時都會使用策略,而此行爲不能以分層方式呈現,您需要一個策略界面,並且使用策略的分配應該簡單地使用條件 –
我不喜歡關於這一點,在大多數情況下,你只能使用兩種策略而不使用策略。我想解決這個問題的一個選擇就是明確地獲取所需的bean。 –
你可以在一個單例的bean定義的屬性?我們稱它爲notificationMethod並默認分配EMAIL。 (該屬性可以是枚舉或字符串或int無論)。 您需要一個控制器方法來更改屬性。
@Autowired
private MyNotificationMethodHolderService service;
@RequestMapping(value = "/changeNotificationMethod")
@ResponseBody
public String change(@RequestParam("methodName") String methodName) {
service.setNotificationMethod (methodName);
}
您的通知服務檢查屬性並根據值發送通知(策略模式根據註釋)。
如果您需要更改方法調用
<HOST>:<PORT>/context/changeNotificationMethod?methodName=SMS
這就是一個策略模式 –
@AmerQarabsa一個工作,你可以請給舉例一些鏈接該怎麼做?謝謝 – Romper