避坑指南
1.spring6以下不会和swagger2.9.2产生冲突
2.idea中git先在自己的分支pull主分支后commit本地库然后进入主分支合并(先pull有利于减少冲突)
3.redis中使用StringRedisTemplate需要注意键值对都要是string类型,当传map的时候容易翻车,需要将map中的所有数据类型都转换成String。
可以手动:
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(student1);
Object age = stringObjectMap.get("age");
String s1 = age.toString();
String name = (String)stringObjectMap.get("name");
//这个也行 String s = String.valueOf(age);
HashMap<String,String> hashMap = new HashMap<>();
hashMap.put("age",s1);
hashMap.put("name",name);
System.out.println(hashMap);
也可以使用工具类hutool
Map<String, Object> usertoMap = BeanUtil.beanToMap(phoneUser,new HashMap<>(),
CopyOptions.create()
.setIgnoreNullValue(true)
.setFieldValueEditor((fieldName,fieldValue)->fieldValue.toString())
);
4.null和""区别
null不指向任何对象,相当于没有任何值;而""代表一个长度为0的字符串
null不分配内存空间;而""会分配内存空间
5.用户对象是用userId.toString()转换为字符串,但是这里有坑,toString()方法底层是new String的形式,因此每次发送请求时当前用户包括其他用户,都会新建一个对象,因此每次都锁的是一个新对象所以就没锁住,因此需要调用userId.toString().intern();这时候当调用toString()方法时先去常量池中寻找有没有这个值,有就直接拿取。