gpt4 book ai didi

serialization - Spring : serializing objects with references to non-serializable beans

转载 作者:行者123 更新时间:2023-12-04 06:05:46 25 4
gpt4 key购买 nike

下面的类(我对 UserDetailsS​​ervice 的实现)绑定(bind)到 session 并且 session 被序列化(在谷歌应用引擎中)。

我最近看了一个 Spring 3 的演示文稿,它说 bean,例如下面所示的 userDao,是由代理加载的,代理不序列化 bean,但只存储名称并重新 -获取反序列化的引用。

但是使用下面的代码我得到了一个NotSerializableException: com.prepayproxy.dataaccesslayer.GAEUserDao

@Service("springUserDetailsService")
public class SpringUserDetailsService implements UserDetailsService, Serializable {
@Resource(name="userDao")
private IUserDao userDao;
//...
}

最佳答案

你有两个选择:

  1. 将 dao 标记为 transient ,这样它就不会序列化。
  2. 自己序列化 dao。

Java 提供了一种序列化不可序列化对象的方法。您将需要实现


private void writeObject(java.io.ObjectOutputStream out)
throws IOException
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException;

Serializable 接口(interface)包含这些方法的说明。这是文档 (java 1.6) 的链接 Serializable

关于serialization - Spring : serializing objects with references to non-serializable beans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com