编写实体类中遇到Serializable接口

Serializable接口:一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化。
一、什么是序列化?
【将对象的状态信息转换为可以存储或传输的形式的过程,在序列化期间,对象将其当前状态写入到临时存储区或持久性存储区,之后,便可以通过从存储区中读取或反序列化对象的状态信息,来重新创建该对象】
序列化将数据分解成字节流,以便存储在文件中或在网络上传输。
反序列化就是打开字节流并重构对象。

二、什么情况下需要序列化?
【当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把对象进行序列化】
只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。

使用Mybatis时出现了非语法错误

将mapper文件的位置注册到properties对应的配置文件中

  1. mybatis.mapper-locations=classpath:mapper/**Mapper.xml

写完某个业务层后进行单元测试出错

没有在写完的业务层上添加@Service注解

进行MD5算法加密时出现加密解密后密码不一致的问题

image.png
将密码的获取写成了user.getUsername();

在使用MultipartFile类进行getContentType();获取类型时出错

  1. //限制文件上传的类型
  2. public static final List<String> AVATAR_TYPE = new ArrayList<>();
  3. static {
  4. AVATAR_TYPE.add("image/jpeg");
  5. AVATAR_TYPE.add("image/png");
  6. AVATAR_TYPE.add("image/bmp");
  7. AVATAR_TYPE.add("image/gif");
  8. }
  9. //判断文件类型
  10. String contentType = file.getContentType();
  11. if(!AVATAR_TYPE.contains(contentType)){
  12. throw new FileTypeException("文件类型不支持");
  13. }

getContentType();获取到文件名的格式为”image/png”这种类型的,出错的原因为将image写成了images

使用SpringBoot中的session.getServletContext().getRealPath得到的路径找不到

解决博客
image.png
session.getServletContext().getRealPath得到的时SpringBoot中内置Tomcat的工作空间,且这样做每次都会重新创建一个文件夹upload去存储,非常浪费,且难以寻找
解决;
代码不用变,在resources下创建upload文件夹,并且修改项目配置的工作目录,定位到当前项目的resources下
image.png