_spring입문.. model객체의 의문점이 생겼다.
고놈 참 HashMap이랑 하는 일이 똑같네. 크게 뭔차이가 있을까?
Spring Model객체는 HashMap과 매우 유사하다.
기능 : Controller --> View로 데이터를 전달할때 쓰는 객체이다.
내부적으로 Map<String, Object> 구조를 가짐
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name); // "name"이라는 key에 값 저장
return "hello-template"; // hello-template.html로 데이터 전달
}
<p th:text="'hello ' + ${name}"></p>
http://localhost:8080/hello-mvc?name=Jihoon
hello Jihoon
Spring이 자동으로 관리하며, 뷰 템플릿(Thymeleaf, JSP 등)에서 쉽게 사용할 수 있도록 보장해 줌.
model.addAttribute("key", value); 를 사용하여 데이터를 추가하고,
뷰에서 ${key}로 접근할 수 있음.
Spring이 자동으로 관리하므로 뷰와 쉽게 연결되고 유지보수하기 좋음
결론 : 즉, Model은 Spring이 자동으로 관리하는 HashMap 같은 객체지만, 더 편리하고 강력하게 동작한다!