【代码小技巧】Switch开关

小技巧

有时候程序里的一个功能在某个场景下需要,另一个场景下就不需要,这时候就可以使用一个开关,在部署的时候,通过更改配置文件开关参数值,来控制这个功能的启用或停用。

当开关较多时,可以将所有的开关可以放在一个开关类,统一管理。

配置文件

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 {
	// 其他动作
}
// 通用动作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章