@ModelAttribute, Controller 메소드에 붙였을때
JAVA/Spring2019. 5. 20. 18:41
@ModelAttribute, Controller 메소드에 붙였을때 요청이 들어오면 들어온 요청 Model에 메소드 리턴값이
들어오는것을 확인할 수 있다.
Object dutchMap = model.asMap().get("dutchMap");
@ModelAttribute("dutchMap")
public Map<String,DutchDao> getDutchMap(){
Map<String,DutchDao> map = new HashMap<>();
map.put("k11", new DutchDao());
map.put("k12", new DutchDao());
map.put("k13", new DutchDao());
return map;
}
그런데 하나 궁금점
위에 getDutchMap()의 결과인 Map<String,DutchDao>값을
Controller 생성 초기에 bean으로 등록해서 가지고(캐싱하고) 있을까?
아니면 매번 요청마다 getDutchMap()을 부르게 될까?
확인 방법은 간단하게 getDutchMap()을 break point를 찍고 확인해보니..
요청마다 getDutchMap() 를 부르고 있었다..;;;
실시간으로 매번 생성해서 model에 세팅하는 용도라면 적절할지 모르겠지만..
모든 요청마다 매번 메소드 불리기 때문에 주의해서 사용해야 겠다...
'JAVA > Spring' 카테고리의 다른 글
[SpringBoot] Embedded Tomcat, NioEndpoint (0) | 2019.06.11 |
---|---|
[Spring][Thymeleaf] if else그리고 조건문 (2) | 2019.05.22 |
[Spring] ApplicationEventPublisher, AbstractApplicationEventMulticaster (0) | 2019.04.30 |
Spring Event ApplicationEventPublisher (0) | 2019.04.24 |
Spring AnnotationConfigApplicationContext (0) | 2019.04.24 |
댓글()