서론
이번글에서는 타이틀에서 언급한 세션 관련된 애노테이션에 대해 학습해보려한다. 바로 알아보도록 하자.
@ModelAttridute란?
사용자가 요청 시 전달하는 값을 오브젝트 형태로 매핑해주는 애노테이션이다.
@SessionAttridutes란?
모델 정보를 HTTP 세션에 저장해주는 애노테이션이다.
1. 컨트롤러 메서드 중 @SessionAttridutes에 지정한 이름과 동일한 이름이 있다면
이를 세션에 저장시켜주는 역할을 한다.
>> 뷰가 이 모델을 참조해서 기존 사용자 정보를 폼에 바인딩 시키기 위해서이다.
2. 여러 화면에서 사용해야 하는 객체를 세션에서 공유할 때 사용한다.
3. @ModelAttribute가 지정된 파리미터가 있을 때 해당 파라미터에 전달해줄
오브젝트를 세션에서 가져온다.
4. 연속해서 클라이언트로부터 Submit이 날라오는 경우 중복 Submit을 방지해주는 역할도 한다.
5. SessionAttributes를 사용하면 @ModelAttribute 또는 model.addAttribute()를 활용하여 객체를 저장할 경우 세션에 저장이 되도록 지정할 수 있다.
>> 데이터를 세션에 계속 담아두기 때문에 sessionStatus를 활용하여 초기화를 해줘야한다.
-> sessionStatus.setComplete();
반응형
'Programming > Spring' 카테고리의 다른 글
[Spring] 의존성 주입(Dependency Injection)이란? (개념/ 예제/ 총 정리) (2) | 2022.05.31 |
---|---|
[Spring Boot] MyBatis 카멜케이스 변환 방법 (Snake -> Camel Case) (1) | 2022.05.02 |
[Spring Boot] Thymeleaf Caching의 의미와 설정 (템플릿 캐싱) (0) | 2022.04.08 |
[Spring Boot] @Vaild 유효성 검사 하는 방법 (개념/ 예제) (1) | 2022.04.08 |
[Spring Boot] DevTools는 무슨 역할을 할까? (기능 / 특징) (0) | 2022.04.07 |
댓글