小技巧
有時候程序裏的一個功能在某個場景下需要,另一個場景下就不需要,這時候就可以使用一個開關,在部署的時候,通過更改配置文件開關參數值,來控制這個功能的啓用或停用。
當開關較多時,可以將所有的開關可以放在一個開關類,統一管理。
配置文件
mail.switch=true
zk.notify.switch=true
Switch開關類
@Component
public class Switch {
/**
* 發郵件通知開關
**/
public static boolean mailSwitch = true;
/**
* 發zk通知開關
**/
public static boolean zkNotifySwitch = true;
@Value("${mail.switch}")
public void setMailSwitch(String mailSwitch) {
if ("true".equals(mailSwitch)) {
Switch.mailSwitch = true;
} else {
Switch.mailSwitch = false;
}
}
@Value("${zk.notify.switch}")
public void setZkNotifySwitch(String zkNotifySwitch) {
if ("true".equals(zkNotifySwitch)) {
Switch.zkNotifySwitch = true;
} else {
Switch.zkNotifySwitch = false;
}
}
}
使用開關
if (Switch.mailSwitch) {
//發郵件
} else {
// 其他動作
}
// 通用動作