POJO (Plain Old Java Object)

POJO는 단순히 데이터를 나타내는 클래스이며 특정한 인터페이스를 구현하거나, 특정한 클래스를 상속받지 않는 단순한 클래스를 의미한다. 주로 필드, 메소드, 생성자 등을 포함할 수 있으며, 비즈니스 로직 처리 보다는 데이터를 저장하고 전달하는데 사용된다.
@Data
public class Medication {
    private String entpName;
    private String itemName;
    private String efcyQesitm;
    private String useMethodQesitm;
    private String atpnWarnQesitm;
    private String atpnQesitm;
    private String intrcQesitm;
    private String seQesitm;
    private String depositMethodQesitm;
    private String itemImage;
}

DTO (Data Transfer Object)

데이터 전송 객체(Data Transfer Object, DTO)는 계층간 데이터 교환을 위한 자바 Beans 이다.
DTO도 POJO의 한 형태로, 시스템 간 또는 계층 간의 데이터 전송을 위해 사용된다. 보통 DTO는 각 필드에 대한 getter/setter 메소드를 포함한다. DTO는 보통 계층 간의 데이터 전송을 목적으로 사용되며, 각 필드를 캡슐화하여 사용하는 POJO와 다소 차이가 있다.
여기서 계층이란 Controller, Service, DAO 등을 의미한다.
class Item {
    @JsonProperty("entpName")
    private String entpName;
    @JsonProperty("itemName")
    private String itemName;
    @JsonProperty("efcyQesitm")
    private String efcyQesitm;
    @JsonProperty("useMethodQesitm")
    private String useMethodQesitm;
    @JsonProperty("atpnWarnQesitm")
    private String atpnWarnQesitm;
    @JsonProperty("atpnQesitm")
    private String atpnQesitm;
    @JsonProperty("intrcQesitm")
    private String intrcQesitm;
    @JsonProperty("seQesitm")
    private String seQesitm;
    @JsonProperty("epositMethodQesitm")
    private String depositMethodQesitm;
    @JsonProperty("itemImage")
    private String itemImage;

    // getter and setter methods
    // ...
}
class Header {
    @JsonProperty("resultCode")
    private String resultCode;
    @JsonProperty("resultMsg")
    private String resultMsg;

    // getter and setter methods
    // ...
}
class Body {
    @JsonProperty("items")
    private List<Item> items;

}

public class ResponseDTO {
    @JsonProperty("header")
    private Header header;
    @JsonProperty("body")
    private Body body;

    // getter and setter methods
    // ...
}

 

+ DAO (Data Access Object)

데이터베이스에 접근하는 코드를 캡슐화하기 위한 설계 패턴

+ Recent posts