반응형
DTO란?
계층간 데이터 교환을 위한 객체(Java Beans)
로직을 갖고 있지 않는 순수한 데이터 객체이며, DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용
1. DTO 클래스 작성
DTO 클래스 작성하여 @Data 어노테이션 이용

package com.test1.domain;
import lombok.Data;
@Data
public class SampleDTO {
private String name;
private int age;
}
( Lombok의 @Data 어노테이션을 통해 getter/setter, equals(), toString() 등의 메서드가 자동 생성 )
2. Controller에서 SampleDTO를 파라미터로 사용
자동으로 setter 메서드가 동작하며 파라미터를 수집
package com.test1.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import com.test1.domain.SampleDTO;
import lombok.extern.log4j.Log4j;
@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
@GetMapping("/ex01")
public String ex01(SampleDTO dto) {
//log로 확인
log.info("" + dto);
//클래스명으로 return
return "ex01";
}
}
3. 로그 확인
@GetMapping 어노테이션을 사용했으므로 URL 뒤에 직접 쿼리스트링 작성
( http://localhost:8080/sample/ex01?name=abc&age=111 )

사진 하단에 DTO 객체의 속성이 제대로 수집된 것을 확인
끝!
반응형