21.08.11
학교 개강 준비 때문에 며칠간 글을 못 썼습니다.
오늘은 model 객체에 대해 정리해보겠습니다.
1. Spring Model 객체란
스프링에서 controller의 메서드는 보통 model이라는 타입의 객체를 파라미터로 받을 수 있습니다.
순수하게 jsp servlet으로 웹 어플리케이션을 만들 때 보통 request나 session 객체에 정보를 담아 view단에 넘겨줍니다만 spring에선 이런 작업을 할때 model 객체를 쓸 뿐입니다.
jsp, servlet으로 웹을 만들 땐, request.setAttribute니 dispatcher니 forward니 이것 저것 많이 붙여줘야 됐었습니다.
그러나 spring으로 만들땐 model.addAttribute("이름", 값); 으로 매우 짧고 편리하게 바뀐겁니다.
2. Model 객체의 특징
편리한 점은 개발자가 직접 model 객체를 생성할 필요가 없다는 것입니다. 파라미터로 선언만 해주면 스프링이 알아서 만들어줍니다. ex) public void home(Model mode) { ~~ }
순서를 정리하자면
1) 파라미터에 model 객체를 선언
2) 함수 내부에서 addAttribute()를 통해 전달
정도 되겠습니다.
이 기능만 잘 알고 있어도 view 단으로 많은 데이터를 보낼수 있습니다.
진행중인 공모전에서도 모두 model객체를 통해 데이터를 view단에 전달하고 있습니다.
제가 예제로 접해본 spring 프로젝트들이 model 객체로 밖에 전달하고 있지 않아서 다른 방법이 있는지는 더 찾아봐야겠습니다.
mapper와 dao, service, controller 이렇게 4개의 유기적인 연결관계가 이해가 가기 시작합니다.
응용력은 많이 떨어지지만 이제 해봤던 것들은 spring 디자인 패턴에 맞춰 구현할 수 있습니다.
'Spring' 카테고리의 다른 글
spring 프로젝트 진행 중 오류 1 (0) | 2021.08.16 |
---|---|
Spring EL, 내장객체, 표현법 (0) | 2021.08.13 |
session, Session의 동작 순서, Session 사용 코드 (0) | 2021.08.07 |
Tiles, dependency (0) | 2021.08.07 |
spring mybatis, mapper (0) | 2021.08.05 |