实体类实现序列化接口:实现Java序列化的接口:java.io.Serializable。
package com.demo.test;
import java.io.Serializable;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class User implements Serializable{
private static final long serialVersionUID = 1L;
private String userName;
private String address;
}
实体类为什么要实现Serializable接口:将对象转变成一串由二进制字节组成的数组,可以通过将二进制数据保存到磁盘或者传输网络,磁盘或者网络接收者可以在对象的属类的模板上来反序列化类的对象,达到对象持久化的目的。
序列化工具:commons-lang3工具包里面的类实现对象的序列化及反序列化
import org.apache.commons.lang3.SerializationUtils;
public class Test {
public static void main(String[] args) {
User user = new User();
user.setUsername("张三");
user.setAddress("广州");
//把User对象序列化为字节类型的数组
byte[] bytes = SerializationUtils.serialize(user);
//把字节类型的数组反序列化为User对象
User u = SerializationUtils.deserialize(bytes);
System.out.println(u);
}
}