Count.java :컨트롤러에서 세션 범위가 지정된 구성 요소를 사용하는 방법
@Component
@Scope(value = "session",proxyMode = ScopedProxyMode.TARGET_CLASS)
public class Count {
Integer i;
public Count() {
this.i = 0;
}
컨트롤러 : 난 경우에도 I
@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";
}
}
하지만 난이 컨트롤러 (/ 인사)를 실행할 때마다, 그것은 항상 증가 브라우저를 닫으십시오. 어떻게 Singleton Controller에서이 Session Scoped Component를 사용할 수 있습니까?
[Spring request scope bean] (http://stackoverflow.com/questions/14731092/spring-request-scope-bean)의 가능한 복제본 – nowszy94
'i'에 대한 getter를 생성하십시오. – zeroflagL
@zeroflagL : 감사합니다. 그러나 당신은 그것을 설명 할 수 있습니까? 처음에는 세션 변수가 전역 변수처럼 작동합니다. 쿠키를 삭제할 때도 증가합니다. 하지만 setter/getter 대신 i ++를 사용하십시오. 그것은 매력처럼 작동합니다 – Snoob