1、字符串string和long转化问题
对于字符串转化为long的问题,如果字符串中以00开头的,例如“002266”,在它转化为long类型时会将前边的00给吞掉
2、对于开发中threadlocal问题(解决创建人修改人字段)
在一些开发中需要提取到修改人或者创建人id,此时一般在拦截器或者过滤器中创建threadlocal对象,这样的对象是在整个过程都存活的,而不能在某个接口中书写例如登录接口,这种接口中创建的threadlocal在接口使用完就死亡了。
@Component public class BaseContext { public static ThreadLocal<String> threadLocal = new ThreadLocal<>(); public static void setCurrentId(String id) { threadLocal.set(id); } public static String getCurrentId() { return threadLocal.get(); } public static void removeCurrentId() { threadLocal.remove(); } }在拦截器通过放行之前将id存储到basecontext中,注意要使用BaseContext类名进行调用,里边的方法都是静态的。
3、对于Redistemplate存储问题
如果确定为字符串使用stringRedistemplate更好,同时存储到redis出现乱码问题可以
@Configuration public class RedisConfig extends CachingConfigurerSupport { @Bean public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) { RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>(); //默认的Key序列化器为:JdkSerializationRedisSerializer redisTemplate.setKeySerializer(new StringRedisSerializer()); // 值不要随便字符串格式,否则存入的都是字符串格式的 //redisTemplate.setValueSerializer(new StringRedisSerializer()); redisTemplate.setConnectionFactory(connectionFactory); return redisTemplate; } }