下面的课程(我的UserDetailsService
实施)与会话绑定,会话被序列化(在谷歌应用引擎中)。
我最近看了一个Spring 3演示文稿,说明如下所示的bean userDao
是由代理加载的,它不会序列化bean,但只存储名称并重新获取引用关于反序列化。
但是使用下面的代码我得到NotSerializableException: com.prepayproxy.dataaccesslayer.GAEUserDao
@Service("springUserDetailsService")
public class SpringUserDetailsService implements UserDetailsService, Serializable {
@Resource(name="userDao")
private IUserDao userDao;
//...
}
答案 0 :(得分:2)
您有两个选择:
Java提供了一种序列化非可序列化对象的方法。您需要实施
private void writeObject(java.io.ObjectOutputStream out)
throws IOException
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException;
Serializable接口包括这些方法的写法。这是docs(java 1.6)Serializable
的链接