Чтобы сохранить сеансы в базе данных, я реализовал Spring Session JDB C, используя этот пример здесь . У меня проблемы с использованием @Autowired с областью действия сеанса: у меня Java Class 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
следующим образом:
@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