这是ManagedBean
@ManagedBean @ViewScoped public class DetailItem {
private static final long serialVersionUID = -7647929779133437125L;
@ManagedProperty(value = "#{itemServiceImpl}")
private ItemService servItem;
这是服务
@Service("itemServiceImpl") @Transactional(value = "transactionManagerLocal") public class ItemServiceImpl implements ItemService {
private static final long serialVersionUID = 1L;
@Autowired
@Qualifier("itemDaoImpl")
private ItemDAO dao;
但是当我尝试访问使用'DetailItem'的页面时,我有以下异常:
java.io.NotSerializableException: org.springframework.dao.support.PersistenceExceptionTranslationInterceptor java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164) java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
要修复我执行servItem瞬态并从applicationContext获取它。但我明白这不是正确的解决方案,我找不到任何其他的。这是正确的方法吗?
我没有sessioncoped或requestscoped的例外。
答案 0 :(得分:1)
听起来像Serialization of ManagedProperty
这样的类似问题ItemService是否实现了Serializable,并且ItemServiceImpl的所有成员都可以自行序列化吗?