SPRING
2018.09.23 / 16:11

Java °³¹ß¿¡¼­ DTO¿Í VO

hangawee
Ãßõ ¼ö 182

DTO¿Í VO?

Spring framework¸¦ »ç¿ëÇؼ­ °³¹ßÀ» ÇÏ´Ù º¸¸é DTO¿Í VO¶ó´Â °Í¿¡ ´ëÇØ ÇѹøÂëÀº µé¾îº¸°Ô µË´Ï´Ù.
ÀÌ°Í¿¡ ´ëÇØ Ã£¾Æº¸¸é °³³ä¿¡ ´ëÇÑ ¼³¸íµµ ¸¹Áö¸¸, »ç¿ë ¹üÀ§³ª »ç¿ë ¿©ºÎ, º»Áú¿¡ ´ëÇÑ Åõ±âÀåÀÌ ¿­¸®±âµµ ÇÕ´Ï´Ù.

À̹ø Æ÷½ºÆÿ¡¼­´Â ¹«¾ùÀÌ ¸Â°í Ʋ¸° °Í¿¡ ´ëÇÑ °Íº¸´Ù´Â, VO¿Í DTO¿¡ ´ëÇÑ °³³äÀ» Á¤¸®ÇÏ°í ¾ðÁ¦ ¾î¶»°Ô ¾²´ÂÁö, Àú´Â ¾î¶² ½ÄÀ¸·Î È°¿ëÀ» ÇÏ´ÂÁö¿¡ ´ëÇؼ­ ¾Ë¾Æº¸´Â Æ÷½ºÆÃÀ» Çغ¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.


VO(Value Object)

VO´Â Value Object. Çѱ۷δ °ª °´Ã¼·Î Çؼ®µÇ°í ¸» ±×´ë·Î µ¥ÀÌÅ͸¦ ´ã´Â °´Ã¼¸¦ ÀǹÌÇÕ´Ï´Ù.
ƯÈ÷ DB¿¡¼­ ÇÑ Å×ÀÌºí¿¡ ´ëÇÑ Ä÷³µé°ú ¸ÅĪÇÏ¿© »ç¿ëÇÏ´Â °ÍÀ¸·Î ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù.
Mybatis µî¿¡¼­µµ DAO(Data Access Object)¿¡¼­ Å×ÀÌºí¿¡ ´ëÇÑ °á°ú¸¦ VO¿¡ ´ã¾Æ¼­ ó¸®ÇÏ´Â ¹æ½ÄÀ» ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù.
Getter¿Í Setter ¸Þ¼­µå¸¦ ÅëÇؼ­ °ªÀ» Á¢±ÙÇÕ´Ï´Ù.

º¸Åë ´ÙÀ½°ú °°ÀÌ VO¸¦ »ç¿ëÇÕ´Ï´Ù.(¿¹½Ã¸¦ À§ÇØ DBÀÇ Account¶ó´Â Å×À̺íÀÇ °ªÀ» ´ã´Â VO¸¦ ¿¹½Ã·Î µé¾ú½À´Ï´Ù.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class AccountVo {
private int idx;
private String id;
private String pw;

public int getIdx() {
return this.idx;
}

public String getId() {
return this.id;
}

public String getPw() {
return this.pw;
}

public void setIdx(int idx) {
this.idx = idx;
}

public void setId(String id) {
this.id = id;
}

public void setPw(String pw) {
this.pw = pw;
}
}


DTO(Data Transfer Object)

VO´Â DB¿¡¼­ Ä÷³¿¡ ´ëÇÑ ¸ÅĪ¿¡ »ç¿ëÇß´Ù¸é, DTO´Â À̸§°ú °°ÀÌ µ¥ÀÌÅÍ Àü¼Û¿¡ ¾²ÀÌ´Â °´Ã¼ÀÔ´Ï´Ù.
View´Ü¿¡ »ç¿ëÇϰųª ´Ù¸¥ ºñÁî´Ï½º ·ÎÁ÷¿¡ Àü¼ÛÀ» ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù.

°£´ÜÇÑ ¿¹¸¦ µé¾îº¸¸é¡¦
ȸ¿ø Á¤º¸¸¦ º¸¿©ÁÖ´Â ÆäÀÌÁö¿¡¼­ Account ¶ó´Â Å×À̺íÀÇ idx, id, pwÀÇ °ª ¿Ü¿¡µµ ¿¬¶ôó, À̸ÞÀÏ µîÀÇ Á¤º¸¸¦ ÇÔ²² Àü´ÞÇØ¾ß ÇÒ ¶§ °¢°¢ÀÇ VO¸¦ Àü´ÞÇÏ°Ô µÇ¾î ºÒÇÊ¿äÇÑ Á¤º¸ Àü´ÞÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·¡¼­ ´ÙÀ½°ú °°ÀÌ DTO¸¦ ¸¸µé¾î º¸³¾ ¼ö ÀÖ½À´Ï´Ù.

1
2
3
4
5
6
7
8
9
10
public class MemberDto {
private int accountIdx;
private String id;
private String pw;

private String email;
private String phone;

//°¢ °ª¿¡ ´ëÇÑ Getter & Setter ¸Þ¼­µå
}

¹°·Ð ¿©±â¼­ Àú±â account ºÎºÐÀ» Vo °´Ã¼ ÀÚü¸¦ ³Ö°í ÁøÇàÇÒ ¼ö µµ ÀÖ½À´Ï´Ù.


VO¿Í DTOÀÇ °á·Ð?

Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°½À´Ï´Ù.
¿¹Àü¿¡´Â µÎ °¡Áö¸¦ ºÐ¸íÇÏ°Ô ³ª´²¼­ »ç¿ëÀ» ÇÏ¿´½À´Ï´Ù.
ÇÏÁö¸¸ ÃÖ±Ù¿¡´Â °æ°è°¡ ¾Ö¸ÅÇÏ¿© ±Ù¹«ÇÏ´Â °³¹ßÆÀ¸¶´Ù ¿ëµµ¸¦ Á¤ÇÏ°í ±×¿¡ ¸ÂÃç¼­ »ç¿ëÇÕ´Ï´Ù.
¶ÇÇÑ JPA¸¦ »ç¿ëÇÒ ¶§´Â VO°¡ JpaÀÇ Entity ¿µ¿ª°ú °ãÃļ­ VO¸¦ ´Ù¸£°Ô »ç¿ëÇÏ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.