如何更改已部署的应用程序中的依赖项。因此,当应用程序启动时,它会通过电子邮件发送通知,但在某些时候我们应该可以更改为通过短信发送通知。
如何在Spring Boot中执行此操作?
答案 0 :(得分:2)
这是一个策略模式的工作,它与spring本身没有任何关系
你应该有两个策略,一个用于电子邮件,一个用于短信,在每个策略中,你将自动连接所需的bean。
检查此链接以了解策略实施
https://www.tutorialspoint.com/design_pattern/strategy_pattern.htm
答案 1 :(得分:0)
您可以在Singleton 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