원본 본문으로 이동하기

스프링 부트 세션 스코프빈

박용서 - 스프링 부트 세션 시리즈 스프링 부트 레디스 세션 연동 https://gs.saro.me/#!m=elec&jn=783 스프링 부트 세션 스코프빈 https://gs.saro.me/#!m=elec&jn=784 스프링 부트 세션 컴포넌트 https://gs.saro.me/#!m=elec&jn=785 서론 저번시간에 레디스 세션을 연결해 보았으니 이번엔 세션 스코프빈을 만들어보겠습니다. @Scope(value="session", proxyMode = ScopedProxyMode.TARGET_CLASS) @Component @Data public class SessionScope implements Serializable { private static final long serialVersionUID = 1L; @Getter @Setter private String msg; @Getter @Setter private Date date; public String toString() { return msg + " : " + date; } } 테스트 컨트롤 @Controller public class UsingSessionTestController { // 세션스코프 @Autowired SessionScope sessionScope; @ResponseBody @RequestMapping(path="/se-set", produces="text/plain") public String seSet() throws UnsupportedEncodingException, FileNotFoundException, IOException { sessionScope.setMsg("Hi"); sessionScope.setDate(new Date()); return "SET session"; } @ResponseBody @RequestMapping(path="/se-get", produces="text/plain") public String seGet() { return sessionScope.toString(); } } /se-set 에서는 현재시간과 함게 Hi 가 입력되고. /se-get 에서 꺼내볼 수 있으면 성공!! 레디스 데스크톱 매니저로 확인하면 sessionAttr:scopedTarget.sessionScope 라는 key 이름으로 SessionScope 클래스가 시리얼라이즈 되어 들어간게 확인됩니다. @Component 에 값을 지정해주면 sessionAttr:scopedTarget.<@Component 값>으로 들어갑니다. [미디어]가리사니 1-153.png[/미디어] - 스프링 Redis