我有一个User类:
@Component
@Scope("session")
public class User {
private String username;
}
和控制器类:
@Controller
public class UserManager {
@Autowired
private User user;
@ModelAttribute("user")
private User createUser() {
return user;
}
@RequestMapping(value = "/user")
public String getUser(HttpServletRequest request) {
Random r = new Random();
user.setUsername(new Double(r.nextDouble()).toString());
request.getSession().invalidate();
request.getSession(true);
return "user";
}
}
所以,下一次我得/用户,我得到另一个用户I无效会话。 我期待一个不同的用户,因为用户的会话范围,但我得到了相同的用户。 我在调试模式下检查,它是内存中的同一个对象ID。 我的豆声明为这样:
<bean id="user" class="org.synchronica.domain.User">
<aop:scoped-proxy/>
</bean>
我是新来的春天,所以我明明做错事。 我想要用户为每个会话的一个实例。 怎么样?