【发布时间】:2016-09-14 19:56:26
【问题描述】:
Count.java:
@Component
@Scope(value = "session",proxyMode = ScopedProxyMode.TARGET_CLASS)
public class Count {
Integer i;
public Count() {
this.i = 0;
}
控制器:
@Controller
public class GreetingController {
@Autowired private Count count;
@RequestMapping("/greeting")
public String greetingForm(Model model) {
if(count.i == null) i == 0;
else i++;
model.addAttribute("count",String.valueOf(count.i));
return "greeting";
}
}
但是每次我运行这个控制器(/greeting),即使我关闭浏览器,它总是增加 i,那么我如何在单例控制器中使用这个 Session Scoped Component?
【问题讨论】:
-
为
i创建一个getter。 -
@zeroflagL:它有效,谢谢。但是你能解释一下吗。起初,会话 bean 就像一个全局变量,即使我删除了 cookie,它也会增加。但是使用 setter/getter 代替 i++;它就像一个魅力
标签: spring spring-mvc dependency-injection spring-boot spring-ioc