Spring会话JDBC-使用@Autowired对象时出错



为了将会话保存在数据库中,我在这里使用这个示例实现了Spring会话JDBC。我在使用带有会话作用域的@Autowired时遇到问题:我有如下的Java类Dump

public class Dump 
{
private String someName;
public Dump(){}
public Dump(String someName) {
this.someName = someName;
}
public String getSomeName() {
return someName;
}
public void setSomeName(String someName) {
this.someName = someName;
}
}

然后我在SESSION_SCOPE中注册这个bean,如下所示:

@Configuration
public class DumpConfig{
@Bean
@Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)
public Dump getDump() {
return new Dump();
}
}

在控制器中,我正在布线并尝试使用:

@Controller
@RequestMapping("/")
public class HomeController {
@Autowired
private Dump dump;
@GetMapping("/dump")
@ResponseBody
public String demo() {
return dump.getSomeName();
}
}

当我尝试运行时,我得到了这个错误:

Failed to convert from type [java.lang.Object] to type [byte[]] for value 'Dump@35b2136e' nested exception is org.springframework.core.serializer.support.SerializationFailedException

请参阅下面提到的链接中的视频(大约1:14(演讲者说,这个问题在spring3.0中通过提供不可序列化bean的代理来解决,该代理从当前应用程序上下文中获得一个实例(在反序列化时(。

https://www.infoq.com/presentations/Whats-New-in-Spring-3.0

最新更新