1. 程式人生 > >Java 靜態 map 資料動態初始化------拒絕硬編碼

Java 靜態 map 資料動態初始化------拒絕硬編碼

快取 這是一種Java記憶體的使用方法,很多人習慣 把 map 裡面的資料寫死,但是這個其實還是硬編碼,其實更好的操作最好是通過資料庫查詢 進行 快取更新,提供一種額外的介面重新查庫 來重新整理快取。

或者是使用redis 處理方式是一樣

 

  // 校驗傳送頻次
            if(!TemplateCheckUtil.checkTemplateMap(messageByTypePojo.getMsgTemplateCode())) {
            	BaseResponse<String> sendResult = messageSendPreConditionUtil.checkMsgSendRate(newTemplateCode, messageByTypePojo.getTelephone());
                if (sendResult.getCode().equals(SMSConstants.SMS_CODE_FAILURE)) {
                	return new SmsResultPojo(SMSConstants.SMS_CODE_FAILURE,sendResult.getMsg());
                }
            }

import java.util.HashMap;
import java.util.Map; 
public class TemplateCheckUtil {

    private static final Map templateMap;
    
    public static boolean checkTemplateMap(String str) {  
        return templateMap.containsKey(str);  
    }  
    
    static {
    	templateMap = new HashMap();
    	templateMap.put("notification-111", "ymgj");
    }
   
}