Java °³¹ß¿¡¼ DTO¿Í VO
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 | public class AccountVo { |
DTO(Data Transfer Object)
VO´Â DB¿¡¼ Ä÷³¿¡ ´ëÇÑ ¸ÅĪ¿¡ »ç¿ëÇß´Ù¸é, DTO´Â À̸§°ú °°ÀÌ µ¥ÀÌÅÍ Àü¼Û¿¡ ¾²ÀÌ´Â °´Ã¼ÀÔ´Ï´Ù.
View´Ü¿¡ »ç¿ëÇϰųª ´Ù¸¥ ºñÁî´Ï½º ·ÎÁ÷¿¡ Àü¼ÛÀ» ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù.
°£´ÜÇÑ ¿¹¸¦ µé¾îº¸¸é¡¦
ȸ¿ø Á¤º¸¸¦ º¸¿©ÁÖ´Â ÆäÀÌÁö¿¡¼ Account ¶ó´Â Å×À̺íÀÇ idx, id, pwÀÇ °ª ¿Ü¿¡µµ ¿¬¶ôó, À̸ÞÀÏ µîÀÇ Á¤º¸¸¦ ÇÔ²² Àü´ÞÇØ¾ß ÇÒ ¶§ °¢°¢ÀÇ VO¸¦ Àü´ÞÇÏ°Ô µÇ¾î ºÒÇÊ¿äÇÑ Á¤º¸ Àü´ÞÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·¡¼ ´ÙÀ½°ú °°ÀÌ DTO¸¦ ¸¸µé¾î º¸³¾ ¼ö ÀÖ½À´Ï´Ù.
1 | public class MemberDto { |
¹°·Ð ¿©±â¼ Àú±â account ºÎºÐÀ» Vo °´Ã¼ ÀÚü¸¦ ³Ö°í ÁøÇàÇÒ ¼ö µµ ÀÖ½À´Ï´Ù.
VO¿Í DTOÀÇ °á·Ð?
Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°½À´Ï´Ù.
¿¹Àü¿¡´Â µÎ °¡Áö¸¦ ºÐ¸íÇÏ°Ô ³ª´²¼ »ç¿ëÀ» ÇÏ¿´½À´Ï´Ù.
ÇÏÁö¸¸ ÃÖ±Ù¿¡´Â °æ°è°¡ ¾Ö¸ÅÇÏ¿© ±Ù¹«ÇÏ´Â °³¹ßÆÀ¸¶´Ù ¿ëµµ¸¦ Á¤ÇÏ°í ±×¿¡ ¸ÂÃç¼ »ç¿ëÇÕ´Ï´Ù.
¶ÇÇÑ JPA¸¦ »ç¿ëÇÒ ¶§´Â VO°¡ JpaÀÇ Entity ¿µ¿ª°ú °ãÃļ VO¸¦ ´Ù¸£°Ô »ç¿ëÇÏ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.