# est-spi-serialization **Repository Path**: est-spi/serialization ## Basic Information - **Project Name**: est-spi-serialization - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-15 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EST SPI Serialization [English Version](README.en.md) ## EST SPI 序列化模块 est-spi-serialization 是 EST SPI 框架的序列化模块,提供序列化和反序列化功能。 ### 核心功能 #### Serializer - 序列化器接口 定义对象序列化的接口。 #### Deserializer - 反序列化器接口 定义对象反序列化的接口。 #### JavaSerializer - Java原生序列化实现 基于 Java ObjectOutputStream/ObjectInputStream 的序列化实现。 ### 快速开始 #### 定义可序列化的类 ```java import java.io.Serializable; public class User implements Serializable { private static final long serialVersionUID = 1L; private String name; private int age; // getters and setters } ``` #### 使用 JavaSerializer 进行序列化 ```java import ltd.idcu.est.spi.serialization.JavaSerializer; import ltd.idcu.est.spi.serialization.Serializer; import java.io.ByteArrayOutputStream; import java.io.IOException; public class Example { public static void main(String[] args) throws IOException { Serializer serializer = new JavaSerializer(); User user = new User(); user.setName("张三"); user.setAge(25); byte[] data = serializer.serialize(user); System.out.println("Serialized data size: " + data.length + " bytes"); } } ``` #### 使用 JavaSerializer 进行反序列化 ```java import ltd.idcu.est.spi.serialization.Deserializer; import ltd.idcu.est.spi.serialization.JavaSerializer; import java.io.IOException; public class Example { public static void main(String[] args) throws IOException, ClassNotFoundException { Deserializer deserializer = new JavaSerializer(); byte[] data = ...; // 从某处获取序列化数据 User user = deserializer.deserialize(data, User.class); System.out.println("Name: " + user.getName()); System.out.println("Age: " + user.getAge()); } } ``` #### 使用流进行序列化和反序列化 ```java import ltd.idcu.est.spi.serialization.JavaSerializer; import ltd.idcu.est.spi.serialization.Serializer; import ltd.idcu.est.spi.serialization.Deserializer; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Example { public static void main(String[] args) throws IOException, ClassNotFoundException { Serializer serializer = new JavaSerializer(); Deserializer deserializer = new JavaSerializer(); User user = new User(); user.setName("李四"); user.setAge(30); // 序列化到文件 try (FileOutputStream fos = new FileOutputStream("user.ser")) { serializer.serialize(user, fos); } // 从文件反序列化 try (FileInputStream fis = new FileInputStream("user.ser")) { User deserializedUser = deserializer.deserialize(fis, User.class); System.out.println("Deserialized: " + deserializedUser.getName()); } } } ``` ### Maven 依赖 ```xml ltd.idcu.est.spi est-spi-serialization 1.0.0 ``` ### 许可证 MIT License