更改运行spring应用程序的依赖关系

时间:2017-05-10 08:55:16

标签: spring spring-boot

如何更改已部署的应用程序中的依赖项。因此,当应用程序启动时,它会通过电子邮件发送通知,但在某些时候我们应该可以更改为通过短信发送通知。

如何在Spring Boot中执行此操作?

2 个答案:

答案 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