又是写bug修bug的一天
- java使用socket通信无法读到传输的对象, 表现为读取数据时抛出ClassNotFound异常 问题原因: socket通信中传输的对象所在包不同, 原结构为:
com.chatroom.client.entity.message com.chatroom.server.entity.message
解决办法: 更改包结构, 让实体类的所在包相同, 改后的结构为:
com.chatroom.entity.message com.chatroom.entity.message
- 使用springboot时自动注入为空, 这个地方可以检查一下使用自动装配的类是否加注释了 (比如controller里面使用service的自动装配, controller和service都要有注释)
如下图, 没有加@RestController注释, 则自动装配会报错
加上后报错消失
-
mapper无法自动装配, 这是mybatis和springboot版本不搭配的问题, 开始会报下面这个错
看网上的有的方法是在启动类上面加一个@MapperScan的注解, 但是加上以后会报一个关于sqlsession的错误, 最终的解决办法是修改mybatis的版本, 下面是mybatis和springboot版本的搭配:
springboot mybatis 2.x 1.0.x 3.x 3.0.x