The Debugging Chronicles : "코드의 미학"

[Spring] Command 객체 본문

Spring

[Spring] Command 객체

sweetseonah1004 2024. 10. 8. 14:52

 

HttpServletRequset request를 열어보면 메모리에 데이터가 있을까 없을까?

 

있을 것이다.

 

그러면 request는 어디서 new 할까? 

핸들러 매핑에 의해 매핑이된 메서드의 인자는 개발자가 new해주지않아도 spring 컨테이너가 new해준다

 

만약 MemberDTO memberDTO를 하면 어떻게 될까? new가 될까?

된다.

그래서 인자에 써준다.

 

마치 useBean에서 setProperty에 *해주면 모든 setproperty가  담기는 것과 같다.

 


 

 

만약에 session이 없다면  HttpServletRequset가 필요없다.

만약 없다면 POJO이다

 


 

지금 Request가 필요한게 아니라 session이 필요하다

 

의존성도 사라지게 할 수 있다.

 

 

 

스프링에서 parameter(인자)를 받아오는 객체들을 command 객체라고 한다.

 

public String main(HttpServletRequest request, MemberDTO memberDTO) >> MemberDTO memberDTO = 커맨드 객체
그러므로 MemberDTO를 컨테이너에게 대신 new시킨다

파라미터의 값 = 멤버변수의 이름이 같으면 자동 주입이 된다
그러므로 HttpServletRequest request를 불러오지않아도 된다.

만약 로그인 아이디를 session에 저장해야 할 경우 HttpSession session만 불러온다