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