版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dongyuxu342719/article/details/89671154
对于一些常量和变量组合形式的值,在使用工具类时,可以通过字符串占位符的形式提炼出工具类,以生成Redis键为例:
1、首先定义Redis键的格式:
package test;
public abstract class RedisKeyConstant {
private RedisKeyConstant() {
}
// 代理商渠道信息TEST:AGENT:CHANNEL:INFO:{渠道编码}
public static final String AGENT_CHANNEL_INFO = "TEST:AGENT:CHANNEL:INFO:{0}";
// 门店信息TEST:STORE:INFO:{门店编码}
public static final String STORE_INFO = "TEST:STORE:INFO:{0}";
/**
* : : :
*/
}
2、定义处理Redis键中占位符的类
import java.text.MessageFormat;
public class RedisUtil {
public static String getRedisKey(String pattern, Object... arguments) {
return MessageFormat.format(pattern, arguments);
}
}
3、测试类
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestMessageFormat {
public static final Logger LOGGER = LoggerFactory.getLogger(TestMessageFormat.class);
@Test
public void test() {
String channelCode = "00010002";
String storeCode = "1000110002";
String channelRedisKey = RedisUtil.getRedisKey(RedisKeyConstant.AGENT_CHANNEL_INFO, channelCode);
String storeRedisKey = RedisUtil.getRedisKey(RedisKeyConstant.STORE_INFO, storeCode);
LOGGER.info("Channel\'s redis key is {}", channelRedisKey);
LOGGER.info("Store\'s redis key is {}", storeRedisKey);
}
}
测试结果:
通过这种方式可以比较方便的处理固定字符串和变量组合的字符串的创建。避免创建逻辑散落在代码各处。