编写实体类中遇到Serializable接口
Serializable接口:一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化。
一、什么是序列化?
【将对象的状态信息转换为可以存储或传输的形式的过程,在序列化期间,对象将其当前状态写入到临时存储区或持久性存储区,之后,便可以通过从存储区中读取或反序列化对象的状态信息,来重新创建该对象】
序列化将数据分解成字节流,以便存储在文件中或在网络上传输。
反序列化就是打开字节流并重构对象。
二、什么情况下需要序列化?
【当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把对象进行序列化】
只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。
使用Mybatis时出现了非语法错误
将mapper文件的位置注册到properties对应的配置文件中
mybatis.mapper-locations=classpath:mapper/**Mapper.xml
写完某个业务层后进行单元测试出错
进行MD5算法加密时出现加密解密后密码不一致的问题
在使用MultipartFile类进行getContentType();获取类型时出错
//限制文件上传的类型
public static final List<String> AVATAR_TYPE = new ArrayList<>();
static {
AVATAR_TYPE.add("image/jpeg");
AVATAR_TYPE.add("image/png");
AVATAR_TYPE.add("image/bmp");
AVATAR_TYPE.add("image/gif");
}
//判断文件类型
String contentType = file.getContentType();
if(!AVATAR_TYPE.contains(contentType)){
throw new FileTypeException("文件类型不支持");
}
getContentType();获取到文件名的格式为”image/png”这种类型的,出错的原因为将image写成了images
使用SpringBoot中的session.getServletContext().getRealPath得到的路径找不到
解决博客
session.getServletContext().getRealPath得到的时SpringBoot中内置Tomcat的工作空间,且这样做每次都会重新创建一个文件夹upload去存储,非常浪费,且难以寻找
解决;
代码不用变,在resources下创建upload文件夹,并且修改项目配置的工作目录,定位到当前项目的resources下