프로그래밍

[Spring] day61 : Command 객체 본문

자바/Spring

[Spring] day61 : Command 객체

시케 2023. 8. 13. 22:32
728x90
반응형

2023.08.03.목

커맨드 객체

@
1. @Repository M, DAO
2. @Service C, Service
3. @Controller C, implement Controller를 대신함

 

현재 @Controller를 사용하기 때문에 메서드 강제성이 없다

즉, 메서드 시그니처가 고정되어 있지 않다

그렇기 때문에 

특정 요청에 대해 Controller 객체를 찾아가는 mapping과

리턴타입(OUTPUT) 등을 자유롭게 조작할 수 있으며

메서드명과 인자(INPUT)값 또한 마찬가지이다

 

그래서 우린 이를 마음대로 조작할 수 있고

@RequestMapping과 메서드명의 변화로 인해

하나의 클래스 파일 여러개의 메서드를 위치시킬 수 있게 된다

 응집도 상승

Command 객체

컨테이너는 객체를 생성 및 관리한다
해당 객체가 언제, 어떤 메서드를 호출해야하는지 알고있는데

 

어떠한 요청을 받았을때, 객체 생성뿐만 아니라
setter() 호출까지 처리하기 위해 사용하는 것이 Command 객체이다

멤버변수의 이름이 같으면 request로부터 값을 추출해서 setter 호출까지 전부 완료해준다

※ 사용자가 직접할 수 있는 요청은 모두 GET이기 때문에
POST로만 받을  수 있도록 하면
악의적 요청을 막을 수 있다

 

https://github.com/jihyean/Spring/tree/main/day61

 

728x90
반응형
Comments