【写在前面】:有坑多分享,大家少踩坑
1,split 要做空判断,要不。。。。。
2,eclipse中的java-install一定要指向jre而不是jdk,虽然不会报错,但是会缺包报错,而且网上神仙多,各种处理方案。
标志性报错:
Caused by: javax.xml.bind.JAXBException
最终处理:全部用jdk1.7不行,用jdk1.8就可以。
3,spring mapper.xxx 报空指针。
mapper不要通过new的方式,而要通过getbean的方式取相关数据。
4,SysPermissionMybatisSqlProvider中如果参数是map,要用以下判断条件,要不key为空的时候会直接报错。
map.containsKey("available") && map.get("available") != null
5,cookie设置值的方法里,不要直接取cookie值,因为cookie请求时传给用户,由浏览器保存,下次才能取到。
6,JacksonUtil.toJson(map)
如果工具类中设置了:mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);
那么key不存在值的时候就会直接忽略掉整个键值对。
7,记录日志如果是用map的话,最好用有序的map(LinkedHashMap)
为什么呢?
因为当某个key的value值很大的时候,无序map把后面值全推到后面去,头就很大了。
8,程序异常没有走catch块?
try{
int a = 1/0;
} catch (ParseException e) {
System.out.println("666666666666666666");
e.printStackTrace();
}
catch里面的异常类不足以捕获程序中的异常类型,就GG了。
【方案】:ParseException 改为Exception