DAO, VO, DTO

조예빈·2024년 5월 4일

Servlet

목록 보기
5/10

DAO(Data Access Object)

  • DB의 데이터에 접근하기 위한 객체
  • DB의 CRUD 작업을 처리함
public MemberDAO() {
		try {
			Context ctx = new InitialContext();
			Context envContext = (Context) ctx.lookup("java:/comp/env");
			dataFactory = (DataSource) envContext.lookup("jdbc/oracle");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

VO(Value Object)

  • 데이터를 캡슐화하고 전송하는 데 사용되는 객체
  • 주로 값의 그룹을 나타냄
  • 불변적이어야 함
  • 데이터베이스의 레코드와 상호 작용 시 사용됨
@Getter
@Setter
@ToString
public class MemberVO {
	private String id;
   private String pwd;
   private String name;
   private String email;
   private Date joinDate;
}

DTO(Data Transfer Object)

  • 데이터 전송을 위한 객체
  • 클라이언트와 서버 간의 데이터 전송을 담당
  • 비즈니스 로직과는 무관한 데이터의 전송에 사용됨
public class UserDTO {
    private String username;
    private String email;
}

Servlet

  • 클라이언트의 요청을 처리하는 Java 클래스
  • 웹 애플리케이션의 제어 흐름을 관리하고 HTTP 요청에 대한 응답 생성
  • 클라이언트의 요청이 발생하면 Servlet이 해당 요청을 수신하고 필요한 작업을 수행한 후 응답 생성 후 클라이언트에 전송

처음에는 Spring과 Spring Boot에서 같은 의미를 다른 용어로 사용하는 줄 알고 정리를 했었는데, 그게 아니라고 한다.. 역시 강사님께 여쭤보니 궁금증이 해소된다 ;ㅅ;


답변을 듣고 나니, Spring이 더 쉽게 느껴진다.

profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러

0개의 댓글