时间:2020-09-28 11:01:19 | 栏目:JAVA代码 | 点击:次
java.util.NoSuchElementException
报错的行数是一个scnner的next,本来和老师讨论了半天没有什么头绪,错误的原因是,因为找不到下一个元素,然后,如果把上一个函数中操作system.in的函数注释掉,就不会出现问题。
后来,老师一问,就是因为在上面函数的时候,我将system手动关闭掉了,系统资源不同于文件,一旦关闭就不能再打开,这就是问题的原因。
系统资源一旦释放就不能再开启了,所以只有确定不在使用系统的时候,才能将流关闭。
补充知识:对于springboot 的拦截器中redisTemplate 为null 解决办法
原因是由于拦截器加载的时间点在springcontext之前,所以在拦截器中注入为null。
解决办法:
知道拦截器执行在bean实例化前执行的,那么我们就让拦截器执行的时候实例化拦截器Bean,在拦截器配置类里面先实例化拦截器,然后再获取
在WebMvcConfigurer的实现类中给容器实例化拦截器就解决啦。