我有一个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";
}
}
我使会话无效,以便下次我进入/ users时,我得到另一个用户.由于用户的会话范围,我期望使用其他用户,但是我得到的是同一用户.我在调试模式下进行了检查,它与内存中的对象ID相同.我的bean声明为:
<bean id="user" class="org.synchronica.domain.User">
<aop:scoped-proxy/>
</bean>
我是春季新手,所以我显然做错了什么.我希望每个会话都有一个User实例.怎么样?
最佳答案