【问题标题】:Java Deserialization issue in SPring MVC Project using AOP使用 AOP 的 SPring MVC 项目中的 Java 反序列化问题
【发布时间】:2018-01-27 04:46:13
【问题描述】:

我正在尝试使用简单的代码反序列化一个对象

ObjectInputStream ois = new ObjectInputStream(inputStream);
Object sss = ois.readObject();

ois.readObject 正在抛出 classNotFound 异常,即使我拥有所有类

当我进一步挖掘时,我发现 deserilizer 正在寻找类似的类

com.xy.services.bank.trans.bean.SampleBean$$EnhancerBySpringCGLIB$$ee37d1aa

我的项目中有 SampleBean,但为什么 JVM 正在增强 bean,我无法弄清楚

谁能提供线索

谢谢

【问题讨论】:

  • 增强类的是 Spring,而不是 JVM。它会因为你的代码库中的某些东西而这样做;例如注释、XML 配置等。显然,将增强类的实例序列化或将其传递给另一个 JVM 是错误的。你的问题是弄清楚为什么会这样。

标签: java spring serialization


【解决方案1】:

如果您序列化了 Spring 注入的任何内容,您必须了解 Spring 实际上注入的是代理,而不是您在其中看到的真实对象。

在相关说明中,不确定您要做什么,但除非绝对必要,否则我会远离序列化对象。

【讨论】:

    猜你喜欢
    • 2019-05-10
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 2020-11-03
    • 1970-01-01
    • 2022-11-04
    相关资源
    最近更新 更多