·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
[¸ÞŸµ¥ÀÌÅÍ È°¿ë ¨ë] ¿ÀǼҽº¿Í ¾î³ëÅ×À̼Ç

ÀÌÀϹÎ(Epril ´ëÇ¥ ÄÁ¼³ÅÏÆ® )   2007/12/06
1ºÎ | °³¹ßÀÚ¸¦ À§ÇÑ ³¡¾ø´Â °æÀï ÀÚ¹Ù vs ´å³ÝÀÇ ¸ÞŸµ¥ÀÌÅÍ È°¿ë
2ºÎ | °³¹ß »ý»ê¼º Çâ»óÀ» À§ÇÑ ÀÚ¹ÙEE5ÀÇ ¾î³ëÅ×ÀÌ¼Ç È°¿ë
3ºÎ | ÇüÀÌ»óÇÐÀû ¸ÞŸµ¥ÀÌÅÍ È°¿ëÀ» À§ÇÑ ¾î³ëÅ×ÀÌ¼Ç ÀÎ ¾×¼Ç
4ºÎ | ´å³Ý °³¹ßÀÚ¸¦ À§ÇÑ ¾îÆ®¸®ºäÆ® ¿À¸®¿£Æ¼µå ÇÁ·Î±×·¡¹Ö
5ºÎ | ÀÚ¹Ù ¾î³ëÅ×À̼ÇÀÇ ÁøÈ­ ¿ÀǼҽº¿Í ¾î³ëÅ×À̼Ç
¿ÀǼҽº
[Áöµð³ÝÄÚ¸®¾Æ]ÀÚ¹Ù5ºÎÅÍ µîÀåÇÑ ¾î³ëÅ×À̼ÇÀº ¿ÀǼҽº¿¡µµ Á¡Â÷ ±× ¿µÇâ·ÂÀ» ³ÐÇô°¡°í ÀÖ´Ù. ¹öÀüȣȯ¼ºÀÌ Áß¿äÇÑ »ó¿ë±â¼ú¿¡ ºñÇØ¼­ »õ·Î¿î ±â¼úÀ» »¡¸® ÀÀ¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ ¿ÀǼҽºÀÇ ÀåÁ¡À̱⠶§¹®¿¡ ¾î³ëÅ×À̼ÇÀ» ÀÌ¿ëÇÑ ±â¼ú Ȱ¿ëÀÇ Á¤µµ´Â ¿ÀǼҽº¿¡¼­ Á¡Á¡ ´õ »¡¶óÁú °ÍÀ¸·Î º¸ÀδÙ. ´ëÇ¥ÀûÀÎ ¿ÀǼҽº Á¦Ç°ÀÇ ¾î³ëÅ×ÀÌ¼Ç Àû¿ë ¿¹¸¦ ÅëÇØ¼­ ¾ÕÀ¸·ÎÀÇ ¾î³ëÅ×ÀÌ¼Ç ±â¼ú ¹ßÀü°¡´É¼º¿¡ ´ëÇØ »ìÆìº¸ÀÚ.

ÀÚ¹ÙÀÇ ¾î³ëÅ×ÀÌ¼Ç ±â¼úÀº ÀÚ¹Ù5¶ó´Â ¾ð¾îÂ÷¿øÀÇ Å« º¯È­°¡ ÀϾ´Â ½ÃÁ¡¿¡ µîÀåÇß´Ù. ±× ÀÌÀü±îÁö ¼Ò½ºÄÚµå ·¹º§ÀÇ ¸ÞŸÁ¤º¸ ±â¼ú¿¡ ´ëÇÑ ¸¹Àº ¿ä±¸µéÀÌ ÀÖ¾úÁö¸¸ ¾ð¾îÀÇ º¯È­´Â ÃÖ¼ÒÈ­ÇÑ´Ù´Â Á¤Ã¥À» °í¼öÇÏ´ø ÀÚ¹ÙÀÇ ¶æ¿¡ µû¶ó Á»Ã³·³ ¾î³ëÅ×À̼ǷùÀÇ ±â¼úµµÀÔÀº ÀÚ²Ù Áö¿¬µÇ¾ú´Ù.

±× »çÀÌ ÀÚ¹ÙÀÇ Ç¥Áرâ¼ú¿¡¼­´Â ¸ðµç ¸ÞŸÁ¤º¸´Â XML ÇüÅ·Π°ü¸®µÇ´Â Àü·«À» ÃëÇØ¿Ô´Ù. XMLÀÌ ¸ÞŸÁ¤º¸¸¦ °ü¸®ÇÏ´Â Ãø¸é¿¡¼­ÀÇ ¸¹Àº ÀåÁ¡ÀÌ ÀÖ´Â °ÍÀº »ç½ÇÀÌÁö¸¸ ¼Ò½ºÄÚµå¿Í ¸é¹ÐÈ÷ ¿¬µ¿Çؼ­ °ü¸®µÉ ¼ö ÀÖ´Â, Ưº°È÷ ¼Ò½º·¹º§ÀÇ ¸ÞŸÁ¤º¸¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ÄÚµå ³»ÀÇ ¾î³ëÅ×ÀÌ¼Ç ±â¼úÀÌ ±×¸¸Å­ ¾Æ½¬¿ü´ø °ÍÀÌ »ç½ÇÀÌ´Ù.

ƯÈ÷ ´å³ÝÀÌ ¾îÆ®¸®ºäÆ®¸¦ Àû¿ëÇÏ´Â µîÀÇ ¿òÁ÷ÀÓÀ» º¸¸é¼­ ¸¹Àº ÀÚ¹Ù °³¹ßÀÚµéÀÌ ºÎ·¯¿öÇϱ⵵ Çß´Ù.

  ÀÚ¹Ù5ÀÌÀüÀÇ ¿ÀǼҽº ¾î³ëÅ×ÀÌ¼Ç ±â¼ú

¿ÀǼҽº´Â ÀÚ¹ÙÀÇ °¡·Á¿î µ¥¸¦ ±Ü¾îÁÖ´Â ¿ªÇÒÀ» Çϰí ÀÖ¾úÀ¸´Ï ¿ª½Ã ÀÌ·± »óȲÀ» ±×³É º¸°í¸¸ Áö³ªÄ¥ ¼ö ¾ø¾ú´Ù. ±×·¡¼­ ¸î °¡Áö ¸ÞŸÁ¤º¸¸¦ ¼Ò½º ³»¿¡ »ðÀÔÇÏ´Â ±â¼úÀÌ µîÀåÇß´Ù. ÀÌ·± ±â¼úµéÀº °³¹ßÀÚÀÇ ¼Ò½ºÄÚµå ¸ÞŸÁ¤º¸¿¡ ´ëÇÑ ¿å±¸¸¦ ¾î´À Á¤µµ ä¿öÁÙ ¼ö ÀÖ¾ú´Ù.

XDoclet
ù ¹øÂ°·Î °¡Àå ¼º°øÇÑ ¼Ò½º·¹º§ÀÇ ¸ÞŸÁ¤º¸ »ðÀÔ ±â¼úÀº XDocletÀÌ´Ù. XDocletÀº »ç½Ç EJBÀÇ °úµµÇÑ XML ¸ÞŸÁ¤º¸ ÀÛ¼º¿¡ ÁöÄ£ °³¹ßÀÚµéÀÌ ÀÏÁ¾ÀÇ ¸ÞŸÄÚµå »ý¼º±â¼úÀ» ÀÀ¿ëÇÏ¿© Àû¿ëÇϱ⠽ÃÀÛÇÑ °ÍÀÌ´Ù.

ÀÚ¹ÙÀÇ API ¹®¼­ »ý¼ºÀ» À§ÇÑ XDoc ±â¼úÀ» ÀÌ¿ëÇØ¼­ ÄÚµå ³»ÀÇ ÄÚ¸àÆ® ¿µ¿ª¿¡ Á¤º¸¸¦ »ðÀÔÇϸé À̸¦ º°µµÀÇ ÄÄÆÄÀÏ·¯·Î ÃßÃâÇØ¼­ ¿øÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÏ´Â °ÍÀÌ ±âº»ÀûÀÎ ¾ÆÀ̵ð¾î´Ù.

XDocletÀÇ EJB ¸ÞŸ Á¤º¸¸¦ ¼Ò½ºÄڵ忡 »ðÀÔÇÏ´Â ±â¼úÀº EJB¸¦ Á¦´ë·Î ¾²±â À§Çؼ­´Â °í°¡ÀÇ »ó¿ë ÅøÀ» »ç¿ëÇØ¾ß¸¸ Çß´ø °³¹ßÀڵ鿡°Ô´Â ¸Å¿ì ¹Ý°¡¿î ¼Ò½ÄÀ̾ú´Ù. °á°úÀûÀ¸·Î EJB XDocletÀÇ Àαâ´Â ¸Å¿ì ³ô¾ÆÁ³°í ±× ¾ÆÀ̵ð¾î¿¡ ¸¸Á·ÇÑ ¸¹Àº °³¹ßÀڵ鿡 ÀÇÇØ¼­ EJB¿Ü¿¡µµ ¿©·¯ °¡Áö Á¾·ùÀÇ ±â¼úÀ» À§ÇÑ XDoclet ¿£ÁøÀ» °³¹ßÇϱ⠽ÃÀÛÇß´Ù.

´ëÇ¥ÀûÀÎ XDoclet ¿£Áø¿¡´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.

• @ejb: EJB ¸ÞŸ Á¤º¸
• @struts : ¾ÆÆÄÄ¡ Struts ¼³Á¤ Á¤º¸
• @jboss: JBoss¼³Á¤ Á¤º¸
• @weblogic: BEA Weblogic ¼³Á¤ Á¤º¸
• @hibernate : ÇÏÀ̹ö³×ÀÌÆ® 2.xÀÇ ¸ÅÇÎÁ¤º¸
• @spring: Spring Bean ¼³Á¤ Á¤º¸

<¸®½ºÆ® 1>Àº ÇÏÀ̹ö³×ÀÌÆ® XDocletÀ» ÀÌ¿ëÇØ¼­ °£´ÜÇÑ ¿ÀºêÁ§Æ®-Å×ÀÌºí ¸ÅÇÎÀ» ¿£Æ¼Æ¼ ¼Ò½ºÄÚµå ³»¿¡ »ðÀÔÇÑ ¿¹ÀÌ´Ù.

 <¸®½ºÆ® 1>ÇÏÀ̹ö³×ÀÌÆ® XDoclet Àû¿ë ¿¹


Ŭ·¡½º³ª ¸Þ¼ÒµåÀÇ ÄÚ¸àÆ® ¿µ¿ª¿¡ @¸¶Å©¸¦ ´Ü XDodclet ű׸¦ Àû¿ëÇϸé À̸¦ ANTÀÇ Å½ºÅ©¸¦ ÀÌ¿ëÇØ¼­ <¸®½ºÆ® 2>¿Í °°Àº ÇÏÀ̹ö³×ÀÌÆ® ¸ÅÇÎÆÄÀÏÀ» ÀÚµ¿À¸·Î »ý¼ºÇÒ ¼ö ÀÖ´Ù.

 <¸®½ºÆ® 2>ÇÏÀ̹ö³×ÀÌÆ® Xdoclet¿¡ ÀÇÇØ¼­ »ý¼ºµÈ ÇÏÀ̹ö³×ÀÌÆ® ¸ÅÇÎÆÄÀÏ


ANT¸¦ ÀÌ¿ëÇÏ¿© ºôµå°úÁ¤¿¡¼­ Ç×»ó ÀÌ ÀÛ¾÷ÀÌ ¼öÇàµÇµµ·Ï ÇÏ¸é ¼Ò½ºÄÚµå ³»ÀÇ ¼³Á¤À» ÅëÇØ¼­ ¿¬¼ÓÀûÀÎ ¼³Á¤ÆÄÀÏÀÇ º¯°æÇÒ ¼ö ÀÖ´Ù.

XDcoletÀº ±× ÀÚü·Î ¸Å¿ì ¼º°øÇÑ ÇÁ·ÎÁ§Æ®ÀÌ¸ç ¼Ò½º ³»ÀÇ ¸ÞŸÁ¤º¸ Ȱ¿ë¿¡ ´ëÇÑ ¸Å·ÂÀ» °³¹ßÀڵ鿡°Ô º¸¿©Áá´Ù´Â ¸é¿¡¼­ Àǹ̰¡ Å©´Ù. ÇÏÁö¸¸, Äڵ峪 ¼³Á¤ÆÄÀÏ »ý¼º ±â¼ú¿¡ ÁÖ·Î ÀÌ¿ëµÈ´Ù´Â Á¡°ú º°µµÀÇ °úÁ¤À» ÅëÇÑ ºôµåŸÀÓ¿¡¼­ µ¿ÀÛÇÑ´Ù´Â ¸é¿¡¼­ ÁøÁ¤ÇÑ ¸ÞŸÁ¤º¸·Î Ȱ¿ëµÇ´Â °ÍÀ̶ó°í º¸±â´Â ¾î·Æ´Ù.

¾ÆÆÄÄ¡ Ä¿¸Õ ¾îÆ®¸®ºäÆ®
Ä¿¸Õ ¾îÆ®¸®ºäÆ®(Commons Attribute)´Â XDoclet°ú ºñ½ÁÇÑ ±¸Á¶·Î XDocÀ» ÀÌ¿ëÇØ¼­ ¼Ò½ºÄÚµå ³»ÀÇ ¸ÞŸÁ¤º¸¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ±â¼úÀÌ´Ù.

XDocletÀÌ ÁÖ·Î EJBó·³ º¹ÀâÇÑ ¼³Á¤Á¤º¸¸¦ ¼Ò½ºÄÚµå¿Í ¿¬µ¿Çؼ­ ¼³Á¤ ÆÄÀÏ·Î ¸¸µé¾î³»´Â ºôµåŸÀÓ¿¡ ÁÖ·Î Àû¿ëµÇ´Â ±â¼úÀε¥ ¹ÝÇØ¼­ Ä¿¸Õ ¾îÆ®¸®ºäÆ®´Â ÄÚµå ³»ÀÇ ¸ÞŸÁ¤º¸¸¦ ·±Å¸ÀÓ ½Ã¿¡ È¿°úÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çϴµ¥ ÃÊÁ¡ÀÌ ¸ÂÃçÁ® ÀÖ´Ù.

<±×¸² 1>Àº Ä¿¸Õ ¾îÆ®¸®ºäÆ®ÀÇ µ¿ÀÛ¿ø¸®¸¦ º¸¿©ÁØ´Ù. ÀÚ¹Ù ¼Ò½ºÄÚµå ³»¿¡ »ðÀÔµÈ ¸ÞŸÁ¤º¸(¾îÆ®¸®ºäÆ®)¸¦ ¾îÆ®¸®ºäÆ® ÄÄÆÄÀÏ·¯(Attribute Compiler)¸¦ ÅëÇØ¼­ ±× Á¤º¸¸¦ ´ã°í ÀÖ´Â ÀÚ¹Ù¼Ò½º·Î »ý¼ºÇس½´Ù. À̼ҽº´Â ÀÏ¹Ý Å¬·¡½º·Î ÄÄÆÄÀÏ µÇ°í ·±Å¸ÀÓ ½Ã¿¡ Ä¿¸Õ ¾îÆ®¸®ºäÆ®ÀÇ API¸¦ ÅëÇØ¼­ ±× Á¤º¸¸¦ °¡Á®¿Í »ç¿ëÇÒ ¼ö ÀÖµµ·Ï µÇ¾îÀÖ´Ù.


XDocletÀÌ ¸ÞŸÁ¤º¸¸¦ ÁÖ·Î XML ÇüÅ·Πº¯È¯ÇÏ°í ·±Å¸ÀÓ ½Ã¿¡ XMLÀ» Àо ó¸®ÇÏ´Â µÎ ´Ü°è¸¦ °ÅÄ¡´Â ±¸Á¶·Î µÇ¾îÀÖ´Ù¸é Ä¿¸Õ ¾îÆ®¸®ºäÆ®´Â XML °úÁ¤ ¾øÀÌ ¹Ù·Î ¸ÞŸÁ¤º¸°¡ ´ã±ä Ŭ·¡½º ÇüÅ·Πº¯È¯ÀÌ µÇ¾î ¸ÞŸÁ¤º¸¸¦ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.

½ºÇÁ¸µÇÁ·¹ÀÓ¿öÅ©´Â JDK1.5 ÀÌÀü ¹öÀüÀÇ »ç¿ëÀÚ¸¦ À§Çؼ­ Ä¿¸Õ ¾îÆ®¸®ºäÆ®¸¦ Àû±ØÀûÀ¸·Î µµÀÔÇÑ ´ëÇ¥ÀûÀÎ ÇÁ·ÎÁ§Æ®´Ù. ±âº»ÀûÀÎ ºó(Bean) ¼³Á¤¿¡¼­ºÎÅÍ Æ®·£Àè¼Ç ó¸® MVCÀÇ ¸ÅÇÎ, JMX Bean ¼³Á¤ ±îÁö ´Ù¾çÇÑ ÇüÅ·ΠĿ¸Õ ¾îÆ®¸®ºäÆ®¸¦ Áö¿øÇÑ´Ù.

<¸®½ºÆ® 3>Àº ¼­ºñ½º ºóÀÇ Æ®·£Àè¼Ç ¸ÞŸÁ¤º¸¸¦ Ä¿¸Õ ¾îÆ®¸®ºäÆ®¸¦ ÀÌ¿ëÇØ¼­ Àû¿ëÇÑ ¿¹ÀÌ´Ù. @@À¸·Î ½ÃÀÛÇÏ´Â Ä¿¸Õ ¾îÆ®¸®ºäÆ® Á¤º¸´Â ·±Å¸ÀÓ ½Ã¿¡ ½ºÇÁ¸µAOP¿¡ ÀÇÇØ¼­ ÂüÁ¶µÇ¾î Àû¿ëµÈ´Ù.

 <¸®½ºÆ® 3>½ºÇÁ¸µÇÁ·¹ÀÓ¿öÅ©ÀÇ Ä¿¸Õ ¾îÆ®¸®ºäÆ® Àû¿ë ¿¹


½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ »ç¿ëµÇ´Â ´ëÇ¥ÀûÀÎ Ä¿¸Õ ¾îÆ®¸®ºäÆ®ÀÇ ÁÖµÈ ¿ëµµ´Â ½ºÇÁ¸µMVCÀÇ Çڵ鷯 ¸ÅÇÎÀÌ´Ù. ÃÖ±Ù µîÀåÇÏ´Â À¥ ÇÁ·¹ÀÓ¿öÅ©µéÀÌ Àû±ØÀûÀ¸·Î ¼ö¿ëÇϰí ÀÖ´Â ÄÁÆ®·Ñ·¯ ³»ÀÇ ¸ÅÇνºÅ¸ÀÏÀ» ÀÌ¹Ì ½ºÇÁ¸µÀº ÃʱâºÎÅÍ Àû¿ëÇØ¿Â ¼ÀÀÌ´Ù.
<¸®½ºÆ® 4>´Â ½ºÇÁ¸µMVCÀÇ PathMapÀ» ÀÌ¿ëÇÑ ÄÁÆ®·Ñ·¯ ¸ÅÇÎÀÇ ¿¹ÀÌ´Ù. ÀÌ·¸°Ô Á¤ÀÇµÈ ÄÁÆ®·Ñ·¯´Â

CommonsPathMapHandlerMapping¿¡ ÀÇÇØ¼­ /bar.do¶ó´Â URL°ú ¸ÅÇÎÀ» XML¿¡ ÀÏÀÏÀÌ ¼³Á¤ÇÏÁö ¾Ê¾Æµµ µÈ´Ù.

 <¸®½ºÆ® 4> ½ºÇÁ¸µMVCÀÇ PathMapÀ» ÀÌ¿ëÇÑ Çڵ鷯 ¸ÅÇÎ ¼³Á¤ ¿¹


ÀÌ·¸°Ô Ä¿¸Õ ¾îÆ®¸®ºäÆ®¸¦ ÀÌ¿ëÇÑ ¸ÞŸÁ¤º¸ Ȱ¿ë¹æ¹ýÀº ´å³Ý¿¡¼­ »ç¿ëÇÏ´Â ¾î³ëÅ×ÀÌ¼Ç ±â¼ú ¸øÁö¾Ê°Ô Æí¸®ÇÏ°Ô Àû¿ëÇÒ ¼ö ÀÖ´Ù.

ÇÏÁö¸¸ Áö±Ý±îÁö »ìÆìº» XDocletÀ̳ª Ä¿¸Õ ¾îÆ®¸®ºäÆ®´Â ¸î °¡Áö ´ÜÁ¡À» °¡Áö°í ÀÖ´Ù.

ù °´Â ºôµåŸÀÓÀÇ º¹ÀâÇÑ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀÌ´Ù. µÎ °¡Áö ¸ðµÎ ANT¿Í Maven µîÀ» Áö¿øÇϱâ´Â ÇÏÁö¸¸ ¸Å¹ø ºôµå½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÄÑ¾ß ÇÏ´Â °ÍÀº ÀÚµ¿ ºôµå¿¡ Àͼ÷ÇÑ IDE¸¦ »ç¿ëÇÏ´Â °³¹ßÀڵ鿡°Ô´Â ¹ø°Å·Î¿î ÀÏÀÌ ¾Æ´Ò ¼ö ¾ø´Ù. °Ô´Ù°¡ º¯È¯°ú ÄÄÆÄÀÏ ½Ã°£¿¡ ´ëÇÑ ºÎ´ãµµ °¡Á®¾ß ÇÑ´Ù.

µÎ ¹øÂ°´Â ¸ÞŸÁ¤º¸¿¡ Á¢±ÙÇϴ ǥÁØ ±â¼úÀÌ ¾Æ´Ï¶ó´Â Á¡ÀÌ´Ù. µû¶ó¼­ ½áµåÆÄƼ(3rd-party) ÇÁ·¹ÀÓ¿öÅ©³ª ¶óÀ̺귯¸®¿¡¼­ ÀÌ·± ±â´ÉÀ» Á¦°øÇÑ´Ù°í ÇÒÁö¶óµµ »ç¿ëÇÏ´Â ÇÁ·ÎÁ§Æ®ÀÇ ±â¼ú¼Â¿¡´Â Àû¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ Á¾Á¾ ¹ß»ýÇÑ´Ù.

  ÀÚ¹Ù ¾î³ëÅ×À̼Ç

ÀÚ¹Ù5¿¡ µîÀåÇÑ ¾î³ëÅ×À̼Ç(Annotation)±â¼úÀº Áö±Ý±îÁö XDoc µîÀ» ÀÌ¿ëÇÑ º¯Ä¢ÀûÀÎ ¹æ¹ýÀÇ »ç¿ëÀÌ ´õ ÀÌ»ó ÇÊ¿ä ¾øµµ·Ï ÀÚ¹Ù ¾ð¾î Â÷¿ø¿¡¼­ ¸ÞŸÁ¤º¸¸¦ ±â¼úÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ÀÚ¹Ù ¾î³ëÅ×À̼ÇÀÇ µîÀå¿¡ ¸¹Àº °³¹ßÀÚµéÀÌ Âù»ç¸¦ º¸³Â°í ´Ù¾çÇÑ »õ·Î¿î Á¦Ç°¿¡ ºü¸£°Ô µµÀԵǾîÁ® °¬´Ù.

¿ÀǼҽºµµ ¿¹¿ÜÀÏ ¼ö ¾ø´Ù. ¿ÀǼҽº´Â Á¦Ç°ÀÇ »õ·Î¿î ¹öÀüÀ̳ª ±â´ÉÀ» Ãß°¡ÇÏ´Â ¸é¿¡¼­ ÀÏ¹Ý »ó¿ëÁ¦Ç°¿¡ ºñÇØ¼­ ¾î´À Á¤µµ À¯¸®ÇÑ Ãø¸éÀÌ ÀÖ´Ù.

µû¶ó¼­ ±âÁ¸¿¡ Á¸ÀçÇÏ´Â ¿ÀǼҽºÁ¦Ç° »Ó¸¸ ¾Æ´Ï¶ó »õ·Î µîÀåÇÏ´Â ¸¹Àº ¿ÀǼҽº ÇÁ·ÎÁ§Æ®µéÀÌ ÀÚ¹Ù5 ÀÌ»óÀÇ Á¦¾àÀ» °¨¼öÇÏ´õ¶óµµ ¾î³ëÅ×À̼ÇÀ» Àû±Ø »ç¿ëÇϱ⿡ À̸£·¶´Ù. ¸¹Àº ÇÁ·ÎÁ§Æ®°¡ ¾î³ëÅ×À̼ÇÀ» ¾²±â À§Çؼ­ ÀÚ¹Ù5 ÀÌ»óÀ̶ó´Â Á¶°ÇÀ» °É¾ú´Ù°í ÇßÀ» Á¤µµ´Ï ±× Àα⸦ ½Ç°¨ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÀÚ¹Ù5ÀÇ ¾î³ëÅ×ÀÌ¼Ç ±â¼úÀº ÄÄÆÄÀÏ ½Ã¿Í ·±Å¸ÀÓ ½Ã ¸ðµÎ Ȱ¿ëµÇ¾îÁú ¼ö ÀÖÀ¸¸ç ±× Á¤Àǰ¡ °£´ÜÇϰí ÂüÁ¶ÇÏ´Â °Íµµ ÀÚ¹ÙÀÇ ¸®Ç÷º¼Ç API¸¦ ÀÌ¿ëÇÏ¸é °£´ÜÈ÷ ó¸®ÇÒ ¼ö ÀÖ´Ù.

´õ °í¹«ÀûÀÎ °ÍÀº ÀÚ¹Ù5¸¦ ÀÌ¿ëÇÏ´Â JEE1.5¿¡¼­´Â Ç¥ÁØ ½ºÆå¿¡ º»°ÝÀûÀÎ ¾î³ëÅ×À̼ÇÀ» Àû¿ëÇß´Ù´Â »ç½ÇÀÌ´Ù. ÀÌÁ¦±îÁö º¹ÀâÇϰí ÀÛ¼ºÇϱ⠾î·Á¿î XMLÇüÅÂÀÇ ¼³Á¤À» °íÁýÇß´ø EJB´Â ¾î³ëÅ×À̼ÇÀ» ÅëÇÑ °£°áÇÑ ¼³Á¤À» ÁÖ¿ä ÀåÁ¡À¸·Î ³»¼¼¿ì¸é¼­ ´Ù½Ã±Ý Àαâ¸ôÀ̸¦ Çϰí ÀÖ´Ù.

ÀÌ·¯ÇÑ È帧 ¼Ó¿¡¼­ ÁÖ¿äÇÑ ¿ÀǼҽº Á¦Ç°ÀÌ ¾î¶»°Ô ¾ð¾îÂ÷¿ø¿¡¼­ Áö¿øÇÏ´Â ¾î³ëÅ×À̼ÇÀ» »ç¿ëÇϰí ÀÖ´ÂÁö¸¦ »ìÆìº¸ÀÚ.

ÇÏÀ̹ö³×ÀÌÆ® 3.x
ÇÏÀ̹ö³×ÀÌÆ®´Â 2.x¹öÀü±îÁö´Â XMLÀ» ÀÌ¿ëÇÑ ¼³Á¤¸¸À» Áö¿øÇß´Ù. ¹°·Ð ÇÏÀ̹ö³×ÀÌÆ®ÀÇ ¼³Á¤ XMLÀº Áö´ÉÀûÀÎ µðÆúÆ®¿Í °£°áÇÑ ¼³Á¤ ±¸¼º µîÀ» ÀÌ¿ëÇØ¼­ EJB³ª ½ºÆ®·¯Ã÷·ùÀÇ º¹ÀâÇÑ XML°ú ºñ±³Çغ¼ ¶§ ÈξÀ °£°áÇÏ°Ô ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

±×·³¿¡µµ ÆÛ½Ã½ºÅÏÆ® ¿ÀºêÁ§Æ®¿Í ±ä¹ÐÇÏ°Ô ¿¬°áµÇ¾îÀÖ´Â ¸ÅÇÎ Á¤º¸À̱⠶§¹®¿¡ ¼Ò½ºÄڵ忡 »ðÀԵǸé ÈξÀ À¯¸®ÇÑ Ãø¸éÀÌ ÀÖ¾ú´ø °ÍÀÌ »ç½ÇÀÌ´Ù. ±× ¶§¹®¿¡ ÇÏÀ̹ö³×ÀÌÆ® 2.x¿¡¼­´Â XdocletÀ» ÀÌ¿ëÇÑ ¸ÅÇÎÁ¤º¸ »ý¼º±â¼úÀÌ °¡Àå ´ëÁßÈ­µÇ°í Àαâ ÀÖ´Â »ç¿ë¹æ¹ýÀ̾ú´Ù.

ÇÏÀ̹ö³×ÀÌÆ®°¡ 3.0À¸·Î °¡´Â °úÁ¤¿¡¼­ ÀϾ °¡Àå Å« º¯È­´Â ÇÏÀ̹ö³×ÀÌÆ® °³¹ßÆÀÀÌ ÁÖ·ÂÀ¸·Î Âü¿©ÇÑ EJB3.0ÀÇ JPA ±â¼ú°ú ¿¬µ¿ÀÌ´Ù. ÇÏÀ̹ö³×ÀÌÆ®´Â 3.x¿¡¼­ ÀÏÁ¾ÀÇ JPA ±¸Çö¿£ÁøÀ¸·Î º¯½ÅÀ» ²ÒÇß´Ù.

»ç½Ç ÇÏÀ̹ö³×ÀÌÆ® 3.0 ±â¼úÀÇ ¼­ºê¼ÂÀÌ JPA·Î °¬´Ù°í ÇØµµ ¹«¹æÇÏ´Ù. ¿ÀǼҽº ORM ¿£ÁøÀ¸·Î °¡Àå Å« ¼º°øÀ» °ÅµÐ °ÍÀÌ ÇÏÀ̹ö³×ÀÌÆ®¿´°í 2.x±îÁö °¡Àå ¸¹Àº ºñÆÇ¿¡ ½Ã´Þ¸° ¿£Æ¼Æ¼ºóÀ» ȹ±âÀûÀ¸·Î °³¼±Çϴµ¥ °¡Àå Å« ¿µÇâÀ» ¹ßÈÖÇÑ °ÍÀÌ ¹Ù·Î EJB3.0ÀÇ Ãʱâ JPA ½ºÆå ´ëºÎºÐÀ» ÀÛ¼ºÇÑ ÇÏÀ̹ö³×ÀÌÆ®ÀÇ Ã¢½ÃÀÚÀÎ °³ºó Å·(Gavin King)À̾ú±â ¶§¹®ÀÌ´Ù.

ÇÑÆí¿¡¼­´Â EJB3.0ÀÌ ¹Ù·Î ÇÏÀ̹ö³×ÀÌÆ®3.0ÀÌ ¾Æ´Ï³Ä´Â ºñÆÇÀÌ ³ª¿Ã Á¤µµ·Î ±× µÑÀº ¸Å¿ì Èí»çÇÏ´Ù. ÇÏÀ̹ö³×ÀÌÆ® ÆÀÀº POJO ±â¹ÝÀÇ Æ®·£½ºÆÐ·±Æ® ÆÛ½Ã½ºÅÏÆ® ±â¼úÀ̶ó´Â Ãø¸éÀ» Á¦¿ÜÇÏ¸é ¼­·Î »ó°ü¾ø´Â Á¦Ç°À̶ó°í ºÎÁ¤Çϱâ´Â ÇßÀ¸³ª ±× µÑÀ» »ç¿ëÇØº» »ç¶÷À̶ó¸é ¾ó¸¶³ª À¯»çÇÑ ÅøÀÎÁö ÃæºÐÈ÷ ÀνÄÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÇÏÀ̹ö³×ÀÌÆ® 3.xÀÇ ¸ÅÇÎ ¼³Á¤¿¡´Â µåµð¾î ¾î³ëÅ×À̼ÇÀÌ Àû¿ëµÇ¾ú´Ù. EJB¿ÍÀÇ °øÁ¸°ø»ýÀ» ³ë¸° Àü·«¿¡ ¸Â°Ô ±× ¼³Á¤Àº ±âº»ÀûÀ¸·Î JPAÀÇ ¾î³ëÅ×À̼ÇÀ» ±×´ë·Î »ç¿ëÇß´Ù. µû¶ó¼­ ÇÏÀ̹ö³×ÀÌÆ® ¾î³ëÅ×ÀÌ¼Ç ÇÁ·ÎÁ§Æ®´Â EJB3 JPAÀÇ ¾î³ëÅ×À̼ÇÀ» ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´ÜÁö, ÇÏÀ̹ö³×ÀÌÆ®¿¡ ¸¹Àº Ãß°¡ÀûÀÎ ±â´ÉµéÀ» À§Çؼ­ ÇÏÀ̹ö³×ÀÌÆ® ¾î³ëÅ×À̼ÇÀÌ º¸Á¶ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.

ÇÏÀ̹ö³×ÀÌÆ® 3.x¿¡¼­ ¿©ÀüÈ÷ XMLÀ» ÀÌ¿ëÇÑ ¸ÅÇÎ ¼³Á¤À̳ª XdocletÀÇ Àû¿ëÀÌ °¡´ÉÇϱä ÇÏ´Ù. ÇÏÁö¸¸ ÀÚ¹Ù5 ÀÌ»óÀ» »ç¿ëÇÏ´Â °³¹ßÀÚµéÀº ´ç¿¬È÷ ¾î³ëÅ×À̼ÇÀ» Àû¿ëÇÒ °ÍÀÌ´Ù.

À§¿¡¼­ »ìÆìº» XdocletÀ» ÀÌ¿ëÇÑ ÇÏÀ̹ö³×ÀÌÆ® ¸ÅÇÎ ¼³Á¤À» ¾î³ëÅ×À̼ÇÀ» ÀÌ¿ëÇÑ °ÍÀ¸·Î ´Ù½Ã »ìÆìº¸ÀÚ. <¸®½ºÆ® 5>´Â ÇÏÀ̹ö³×ÀÌÆ®°¡ Áö¿øÇÏ´Â JPA ¾î³ëÅ×À̼ǰú ÇÏÀ̹ö³×ÀÌÆ® Àü¿ë ¾î³ëÅ×À̼ÇÀ» °áÇÕÇØ Àû¿ëÇÑ ¿£Æ¼Æ¼ Ŭ·¡½ºÀÇ ¿¹ÀÌ´Ù.

 <¸®½ºÆ® 5> JPA¿Í ÇÏÀ̹ö³×ÀÌÆ® ¾î³ëÅ×À̼ÇÀ» ÀÌ¿ëÇÑ ¸ÅÇÎ ¼³Á¤ ¿¹


¿©±â¼­ »ç¿ëÇÑ ¾î³ëÅ×ÀÌ¼Ç Áß¿¡¼­ @Entity¿Í @Id, @GeneratedValue´Â JPAÀÇ Ç¥ÁØ ¾î³ëÅ×À̼ÇÀ̰í @Cache´Â ÇÏÀ̹ö³×ÀÌÆ®ÀÇ Àü¿ë ¾î³ëÅ×À̼ÇÀÌ´Ù. ÀÌ µÑÀ» ÀûÀýÈ÷ È¥¿ëÇØ¼­ ÇÏÀ̹ö³×ÀÌÆ®¿¡ ÃÖÀûÈ­µÈ ¼³Á¤À» ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù. ij½Ã(Cache)ó·³ º¸Á¶ÀûÀÎ ¼³Á¤À̶ó¸é ÀÌ ¼³Á¤À» ±×´ë·Î ´Ù¸¥ JPA ¿£Áø¿¡ Àû¿ëÇÏ´Â °Íµµ ÃæºÐÈ÷ °¡´ÉÇÏ´Ù.

±âÁ¸ÀÇ XDoclet·ù¿¡ ºñÇØ¼­ ¾î³ëÅ×ÀÌ¼Ç ¼³Á¤¹æ½ÄÀÌ °¡Áö´Â ÀåÁ¡À» »ìÆìº¸ÀÚ.

ù °´Â º°µµÀÇ ºôµå°úÁ¤ÀÌ ÇÊ¿ä ¾ø´Ù´Â Á¡ÀÌ´Ù. À̴ ǥÁØ ±â¼úÀÌ ÁÖ´Â ´ëÇ¥ÀûÀÎ ÀåÁ¡ ÁßÀÇ ÇϳªÀÌ´Ù.

µÎ ¹øÂ°´Â Enum µîÀ» »ç¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ ŸÀÔÀÇ ¾ÈÁ¤¼ºÀÌ º¸ÀåµÈ´Ù´Â Á¡ÀÌ´Ù. ¾î³ëÅ×À̼ÇÀÇ ¼³Á¤À» »ç¿ëÇÏ´Ùº¸¸é EnumÀÌ ÀÚÁÖ µîÀåÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¼¼ ¹øÂ°´Â Ŭ·¡½ºÀÇ ±âº»ÀûÀÎ ¸ÞŸÁ¤º¸¸¦ ±×´ë·Î Ȱ¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. <¸®½ºÆ® 6>Àº ManyToOne °ü°èÀÇ ¸±·¹À̼ųΠÇʵåÀÇ ¼³Á¤ ¿¹ÀÌ´Ù. XdocletÀÇ ManyToOne ¼³Á¤¿¡´Â Ÿ±ê Ŭ·¡½ºÀÇ À̸§°ú ¿Ü·¡Å°·Î »ç¿ëµÉ Çʵå¸íÀÌ µé¾î°¡¾ß ÇÑ´Ù. ÇÏÁö¸¸ ¾î³ëÅ×À̼ÇÀ» ÀÌ¿ëÇÑ ManyToOne ¼³Á¤¿¡´Â À̰ÍÀ» »ý·«ÇÒ ¼ö ÀÖ´Ù.

À̰ÍÀº Ŭ·¡½ºÀÇ ¸ÞŸÁ¤º¸¸¦ ÀÌ¿ëÇØ¼­ Ÿ±ê ¿£Æ¼Æ¼°¡ DUser¶ó´Â °ÍÀ» ¾Ë¾Æ³¾ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ¿Ü·¡Å°´Â µðÆúÆ® ³×ÀÌ¹Ö ·êÀ» ÀÌ¿ëÇØ¼­ ÀÚµ¿À¸·Î ºÎ¿©µÈ´Ù. ¹°·Ð XDoclet¿¡¼­µµ À̸¦ ¾Ë¾Æ³¾ ¹æ¹ýÀº ÀÖÁö¸¸ ¾î³ëÅ×À̼ÇÀ» ÀÌ¿ëÇÑ °æ¿ì°¡ ÈξÀ Æí¸®Çϱ⠶§¹®¿¡ JPA¿Í ÇÏÀ̹ö³×ÀÌÆ® ¾î³ëÅ×À̼ǿ¡¼­´Â ÀÌ·± ½ÄÀÇ °£°áÇÑ ¼³Á¤À» ÀÚÁÖ ¸¸³¯ ¼ö ÀÖ´Ù.

 <¸®½ºÆ® 6> Ŭ·¡½ºÀÇ ¸ÞŸÁ¤º¸¸¦ Ȱ¿ëÇÑ ¾î³ëÅ×ÀÌ¼Ç Àû¿ë ¿¹


³× ¹øÂ°´Â IDEÀÇ Áö¿øÀÌ´Ù. Ç¥ÁØ ¾ð¾î ±â¼úÀÎ ¾î³ëÅ×À̼ÇÀº ´ç¿¬È÷ ´ëºÎºÐÀÇ ÀÚ¹ÙIDE¿¡¼­ Áö¿øÇÑ´Ù. ´ç¿¬È÷ ÀÚµ¿ºôµå¸¦ ÅëÇØ¼­ ¿À·ùµµ °ËÁõÇØÁØ´Ù. Xdocletµµ ÀÚµ¿¿Ï¼º ±â´ÉµéÀ» Áö¿øÇÏ´Â IDE°¡ ÀÖ¾úÁö¸¸ ±× Æí¸®ÇÔÀº ºñ±³ÇÒ ¹Ù°¡ ¾Æ´Ï´Ù.

ÇÏÀ̹ö³×ÀÌÆ®´Â ÀÚ¹Ù5 ÀÌÀü »ç¿ëÀÚ³ª XML ¼³Á¤À» ¼±È£ÇÏ´Â °³¹ßÀÚµéÀ» À§Çؼ­ ȣȯ¼º Â÷¿ø¿¡¼­ ÄÚ¾îÆÐŰÁö¿¡´Â XML Áö¿ø ±â´É¸¸ ÀÖ°í ¾î³ëÅ×À̼ÇÀº ¿É¼Ç ¸ðµâ·Î Á¦°øÇÑ´Ù.

½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© 2.x
½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©µµ 2.0¿¡¼­ºÎÅÍ º»°ÝÀûÀ¸·Î ¾î³ëÅ×À̼ÇÀ» Áö¿øÇϱ⠽ÃÀÛÇß´Ù.

¡Ü ¸ÞŸµ¥ÀÌÅÍ ¾îÆ®¸®ºäÆ®(Metadata Attributes)
½ºÇÁ¸µÀÇ ¸ÞŸÁ¤º¸ ¼³Á¤¹æ½ÄÀº ÀÌÀüÀÇ Ä¿¸Õ ¾îÆ®¸®ºäÆ®¿Í ¾î³ëÅ×ÀÌ¼Ç µÎ °¡Áö¸¦ ¸ðµÎ Áö¿øÇϴµ¥ ½ºÇÁ¸µÀº À̸¦ ´Ù½Ã Ãß»óÈ­ÇØ¼­ ½ºÇÁ¸µ ¸ÞŸµ¥ÀÌÅÍ(Spring Metadata)ÀÇ ¾îÆ®¸®ºäÆ®(Attributes)¶ó´Â ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ¼­ ÀϰüµÈ ¹æ½ÄÀ¸·Î Á¢±ÙÇÑ´Ù.

´Ù¾çÇÑ ±¸Çö°ú Àû¿ë ¹æ¹ýÀÌ Á¸ÀçÇÒ °æ¿ì Ç×»ó Ãß»óÈ­¸¦ ÅëÇÑ ´À½¼ÇÑ °ü°è¸¦ ¼³Á¤ÇÏ´Â °ÍÀ» ÁöÇâÇÏ´Â ½ºÇÁ¸µÀ¸·Î½á´Â ´ç¿¬ÇÑ °á°úÀÏ °ÍÀÌ´Ù.

½ºÇÁ¸µ ¸ÞŸµ¥ÀÌÅÍ ¾îÆ®¸®ºäÆ®(Spring Metadata Attribute)ÀÇ µµÀÔ ¸ñÀûÀº ´ÜÁö ¾î³ëÅ×À̼ǰú ÀÌÀü Ä¿¸Õ ¾îÆ®¸®ºäÆ® ±â¼ú¿¡ ´ëÇÑ È£È¯¼º¹®Á¦ ¶§¹®¸¸Àº ¾Æ´Ï´Ù. ½ºÇÁ¸µ ¸ÞŸµ¥ÀÌÅÍ ¾îÆ®¸®ºäÆ®´Â ´ÙÀ½°ú °°Àº ÀÌÀ¯·Î ÀÎÇØ¼­ °³¹ßµÇ¾ú´Ù.

ù°´Â ÀÚ¹Ù¾ð¾îÀÇ ¾î³ëÅ×À̼ÇÀº ½ºÅÂÆ½ÇÑ ±â¼úÀ̶ó´Â °ÍÀÌ´Ù. Çѹø ÄÄÆÄÀϵǼ­ Ŭ·¡½º ¾È¿¡ ±× Á¤º¸°¡ »ðÀÔµÇ¸é ¼öÁ¤ÇÒ ¼ö ¾ø°í Á¶È¸¸¸ °¡´ÉÇÏ´Ù. ¹°·Ð ¸®Ç÷º¼ÇÀ» ÀÌ¿ëÇØ¼­ °­Á¦·Î ¾î³ëÅ×ÀÌ¼Ç Á¤º¸¸¦ ¼öÁ¤ÇÒ ¼ö´Â ÀÖÁö¸¸ ÀÌ´Â ¹Ù¶÷Á÷ÇÑ Á¢±Ù¹æ¹ýÀÌ ¾Æ´Ï´Ù.

µÎ ¹øÂ°·Î ¾î³ëÅ×ÀÌ¼Ç Á¤º¸¸¦ XML¿¡¼­Ã³·³ °èÃþÀûÀ¸·Î Ç¥ÇöÇØ¾ß ÇÒ °æ¿ì°¡ Àֱ⠶§¹®ÀÌ´Ù. ¶Ç ¸¹Àº °æ¿ì¿¡ À̸¦ ¿À¹ö¶óÀ̵ùÇÏ´Â °Íµµ ÇÊ¿äÇÏ´Ù.

¼¼ ¹øÂ°·Î´Â ÀÚ¹Ù5ÀÇ ¾î³ëÅ×ÀÌ¼Ç Á¤º¸´Â ¸®Ç÷º¼Ç API¸¦ ÀÌ¿ëÇϴµ¥ ÀÌ´Â ¸ñ(mock)À» ÀÌ¿ëÇØ¼­ ´ëÄ¡ÇϱⰡ ¸Å¿ì ºÒÆíÇÏ´Ù. Á» ´õ Ãß»óÈ­µÈ ÀÎÅÍÆäÀ̽º°¡ Á¸ÀçÇØ¾ßÇÏ´Â Áß¿äÇÑ ÀÌÀ¯ ÁßÀÇ ÇϳªÀÌ´Ù.

¸¶Áö¸·À¸·Î ÇöÀåÀÇ ÀÚ¹Ùȯ°æÀÌ JDK1.5ÀÌ»óÀ¸·Î º¯È­ÇÏ´Â µ¥¿¡´Â ¾ÆÁ÷ ¸î ³âÀÇ ½Ã°£ÀÌ ´õ ÇÊ¿äÇÏ´Ù°í º¸±â ¶§¹®ÀÌ´Ù. ±×¶§±îÁö ÀÚ¹Ù5ÀÇ ¾î³ëÅ×À̼ÇÀ» »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì¿¡µµ ¸ÞŸÁ¤º¸¸¦ Ȱ¿ëÇÏ´Â °ÍÀÌ ÇÊ¿äÇѵ¥ ÀÌÀÇ È£È¯À» À§Çؼ­¶óµµ º°µµÀÇ Ãß»óÈ­µÈ ·¹À̾îÀÇ Á¸Àç°¡ ¿ä±¸µÈ´Ù.

½ºÇÁ¸µÀº <¸®½ºÆ® 7>¿¡ ³ª¿À´Â Attributes¶ó´Â ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ¼­ Ç¥ÁØ ¸ÞŸÁ¤º¸¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Á¤ÀÇÇϰí ÀÖ´Ù.

 <¸®½ºÆ® 7>½ºÇÁ¸µÀÇ Metadata Attributes ÀÎÅÍÆäÀ̽º


ÀÌ ¸Þ¼ÒµåµéÀÇ ¸®ÅÏ °ªÀº ¿ÀºêÁ§Æ® ÇüÅÂÀÌ´Ù. µû¶ó¼­ ´Ü¼øÇÑ ½ºÇÁ¸µ Á¤º¸¸¦ ¹Þ´Â °Í¿¡ ºñÇØ¼­ ¸¹Àº Á¤º¸¸¦ ´ãÀ» ¼öµµ ÀÖ°í Ŭ·¡½º °èÃþ±¸Á¶¸¦ ÀÌ¿ëÇϰųª ¼³Á¤ ÆÄ¶ó¹ÌÅÍ °ª µîÀ¸·Î Ȱ¿ëÇÏ´Â µîÀÇ ¸¹Àº ÀåÁ¡ÀÌ ÀÖ´Ù.

ÀÚ¹Ù5 ¾î³ëÅ×ÀÌ¼Ç Áö¿ø
½ºÇÁ¸µÀº ¹°·Ð ÀÚ¹Ù5 »ç¿ëÀÚ¸¦ À§ÇÑ ´Ù¾çÇÏ°í Æí¸®ÇÑ »çÀü¿¡ Á¤ÀÇµÈ ¾î³ëÅ×À̼ÇÀ» Áö¿øÇÑ´Ù.

¡Ü @Required
Setter ¹æ½ÄÀÇ ÀÇÁ¸»ðÀÔÀº »ý¼ºÀÚ »ðÀÔº¸´Ù ¸¹Àº ÀåÁ¡ÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ÇÑ °¡Áö °áÁ¤ÀûÀÎ ´ÜÁ¡ÀÌ ÀÖÀ¸´Ï ±×°ÍÀº ¹Ýµå½Ã ÇÊ¿äÇÑ ÇÁ·ÎÆÛƼ°¡ »ðÀԵǾú´ÂÁö È®ÀÎÇϱⰡ ºÒÆíÇÏ´Ù´Â °ÍÀÌ´Ù. À̸¦ À§Çؼ­ ½ºÇÁ¸µ ºóÀÇ ¶óÀÌÇÁ»çÀÌŬ ¸Þ¼Òµå µîÀ» ÀÌ¿ëÇØ¼­ üũÇÏ´Â ºÎºÐÀ» ¸¸µé ¼ö ÀÖ±â´Â ÇÏÁö¸¸ ¹ø°Å·Ó´Ù.

ÇÏÁö¸¸ ½ºÇÁ¸µ2.0ºÎÅÍ µµÀÔµÈ @Requred¸¦ »ç¿ëÇÏ¸é °£´ÜÇÏ°Ô Çʼö ÇÁ·ÎÆÛƼ¸¦ ÁöÁ¤Çϰí À̸¦ °ËÁõÇÒ ¼ö ÀÖ´Ù.

<¸®½ºÆ® 8>Àº movieFinder¶ó´Â ºóÀ» Çʼö ÇÁ·ÎÆÛƼ·Î °¡Áö°í ÀÖ´Ù. ºñÁî´Ï½º ¸Þ¼Òµå¿¡¼­ À̸¦ »ç¿ëÇØ¾ß Çϱ⠶§¹®¿¡ ¹Ýµå½Ã ¼³Á¤ÀÌ µÇ¾îÀÖ¾î¾ß ÇÑ´Ù. À̸¦ °ËÁõÇÏ´Â ±âÁ¸ÀÇ ¹æ¹ýÀº ºóÀÌ InitializingBean ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¼­
afterPropertiesSet ÄÝ¹é ¸Þ¼Òµå¸¦ ÅëÇØ¼­ °ËÁõÇÏ´Â Äڵ带 ÀÏÀÏÀÌ ÀÛ¼ºÇØ¾ß ÇÑ´Ù.

@Required ¾î³ëÅ×À̼ÇÀ» »ç¿ëÇÏ¸é ¾î³ëÅ×ÀÌ¼Ç ¼³Á¤¸¸À¸·Î ÇÊ¿äÇÑ ÇÁ·ÎÆÛƼ°¡ ¼¼ÆÃµÇ¾ú´ÂÁö¸¦ È®ÀÎÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ÀÌ Àû¿ëÀ» À§Çؼ­´Â RequiredAnnotationBeanPostProcessor¸¦ µî·ÏÇØ¾ßÇÑ´Ù.

 <¸®½ºÆ® 8>Çʼö ÇÁ·ÎÆÛƼ¸¦ °¡Áö´Â ½ºÇÁ¸µ ºó


¡Ü @Transactional
½ºÇÁ¸µAOP¸¦ ÀÌ¿ëÇÑ Æ®·£Àè¼Ç ¼³Á¤ÀÇ ¹æ¹ý Áß¿¡¼­ ¾î³ëÅ×À̼ÇÀ» ÀÌ¿ëÇÑ °ÍÀÌ @Transactional ¾î³ëÅ×À̼ÇÀÌ´Ù. XMLÀ» ÀÌ¿ëÇÑ Æ®·£Àè¼Ç ¼³Á¤Àº º¸Åë Æ÷ÀÎÆ®ÄÆ ¾ð¾î¸¦ ÀÌ¿ëÇØ¼­ ³×ÀÌ¹Ö ·êÀ» ÅëÇÑ ÀϰýÀû¿ëÀ» ÀÌ¿ëÇÏ´Â °æ¿ì°¡ ¸¹´Ù. ±×·± ¹æ¹ýÀº ¼³Á¤ÀÌ °£°áÇØ Áú ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸ ¹Ý´ë·Î °¢°¢ÀÇ ºó¸¶´Ù ¼¼¹ÐÇÑ ¼³Á¤À» ÇÏ´Â °ÍÀÌ ºÒÆíÇÏ´Ù.

@Transactional ű׸¦ ÀÌ¿ëÇÑ ¼³Á¤Àº Æ®·£Àè¼ÇÀ» ¼³Á¤ÇÒ ´ë»óÀÌ µÇ´Â Ŭ·¡½º³ª ÀÎÅÍÆäÀ̽º¿¡ °£´ÜÇÑ ¾î³ëÅ×À̼Ǹ¸ Àû¿ëÇÏ¸é ¹Ù·Î Àû¿ëÇÒ ¼ö ÀÖ´Ù. À̸¦ À§Çؼ­´Â ½ºÇÁ¸µ ¼³Á¤ÆÄÀÏ¿¡ °£´ÜÈ÷ ¸¦ Àû¿ëÇϱ⸸ ÇÏ¸é µÈ´Ù.

µðÆúÆ® Æ®·£Àè¼Ç ¼³Á¤À» º¯°æÇÏ·Á¸é °£´ÜÈ÷ ¾î³ëÅ×ÀÌ¼Ç ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÏ¸é µÈ´Ù. Propagation, isolation, readOnly, timeout, rollbackFor, rollbackForClassname, noRollbackFor, noRollbackForClassnameÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

@TransactionalÀÇ ÀåÁ¡Àº °èÃþÀûÀ̸鼭 ¿À¹ö¶óÀ̵ùÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀÌ´Ù. ¸¸¾à Ŭ·¡½º ·¹º§¸¸ ¼³Á¤Çß´Ù¸é ¸ðµç ¸Þ¼Òµå¿¡ µ¿ÀÏÇÑ Æ®·£Àè¼Ç ¼Ó¼ºÀÌ Àû¿ëµÈ´Ù. ±× Áß ¸î °³ÀÇ ¸Þ¼Òµå´Â ´Ù¸¥ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù¸é ¸Þ¼Òµå ·¹º§¿¡ ¾î³ëÅ×À̼ÇÀ» ÁöÁ¤Çϸé Ŭ·¡½º ¼Ó¼ºÀ» ¿À¹ö¶óÀ̵åÇØ¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

¹Ý´ë·Î ÀÎÅÍÆäÀ̽º¿¡ Æ®·£Àè¼Ç ¾î³ëÅ×À̼ÇÀ» Àû¿ëÇß´Ù¸é À̸¦ ±¸ÇöÇÑ ¸ðµç Ŭ·¡½º¿¡µµ µ¿ÀÏÇÑ Æ®·£Àè¼Ç ¼³Á¤ÀÌ Àû¿ëµÈ´Ù. ´ç¿¬È÷ ¿À¹ö¶óÀ̵ùÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. <¸®½ºÆ® 9>´Â Ŭ·¡½º ·¹º§ÀÇ Æ®·£Àè¼Ç ¼³Á¤°ú À̸¦ ¿À¹ö¶óÀ̵åÇÑ ¸Þ¼Òµå ¼³Á¤ÀÇ ¿¹¸¦ º¸¿©ÁØ´Ù.

 <¸®½ºÆ® 9> °èÃþÀû Æ®·£Àè¼Ç ¼³Á¤ Àû¿ëÀÇ ¿¹


¡Ü @Configurable
½ºÇÁ¸µ2.0¿¡¼­ »õ·Ó°Ô µîÀåÇÑ ´ëÇ¥ÀûÀÎ ±â´ÉÀÌ ½ºÇÁ¸µ ºóÀ¸·Î µî·ÏµÇÁö ¾ÊÀº µµ¸ÞÀÎ ¿ÀºêÁ§Æ® µî¿¡ ÀÇÁ¸ »ðÀÔÀ» °¡´ÉÇÏ°Ô ÇÏ´Â °ÍÀÌ ÀÖ´Ù. º¸Åë µµ¸ÞÀÎ ¿ÀºêÁ§Æ®´Â new Ű¿öµå¿¡ ÀÇÇØ¼­ »ý¼ºÀÌ µÇ°Å³ª ÇÏÀ̹ö³×ÀÌÆ® °°Àº ½áµåÆÄƼ ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ »ý¼ºµÇ¾î Àü´ÞµÇ´Â °ÍÀÌ ¸¹´Ù.

ÀÌ·± ¿ÀºêÁ§Æ®¿¡ ½ºÇÁ¸µÀÇ ÀÇÁ¸¼ºÀ» »ðÀÔÇÏ·Á¸é Ưº°ÇÑ ±â¼úÀÌ ÇÊ¿äÇÏ´Ù. ½ºÇÁ¸µ2.0Àº À̸¦ À§Çؼ­ AspectJÀÇ ·±Å¸ÀÓ À§ºù°ú °°Àº ±â¼úÀ» Àû¿ëÇß´Ù.

¸¸¾à User¶ó´Â µµ¸ÞÀÎ ¿ÀºêÁ§Æ®¿¡¼­ PermissionService¶ó´Â ¼­ºñ½º ºóÀ» »ç¿ëÇÏ°í ½Í´Ù°í ÇÏÀÚ. ÀÌ·¯±â À§Çؼ­´Â ¿øÄ¢ÀûÀ¸·Î User Ŭ·¡½ºµµ ºóÀ¸·Î µî·ÏµÇ¾î¾ß ÇÑ´Ù. ÇÏÁö¸¸ User´Â ÆÛ½Ã½ºÅϽº °´Ã¼·Î ÇÏÀ̹ö³×ÀÌÆ®ÀÇ find¿¡ ÀÇÇØ¼­ µ¹·ÁÁú ¼ö Àֱ⵵ ÇÏ´Ù. ÀÌ·± °æ¿ì ºóÀÇ µî·ÏÀ» ÅëÇÑ ¶óÀÌÇÁ»çÀÌŬ °ü¸®´Â ºÒ°¡´ÉÇÏ´Ù. ÀÌ·² ¶§ @ConfigurableÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

<¸®½ºÆ® 10>Àº @ConfigurableÀ» Àû¿ëÇÑ User Ŭ·¡½ºÀÌ´Ù. ÇÊ¿äÇÑ ÀÇÁ¸°ü°è ºóÀÇ Setter°¡ µî·ÏµÇ¾îÀÖ´Ù. ±× ´ÙÀ½¿¡ ÇÒ ÀÏÀº @Configurable ¾î³ëÅ×À̼ÇÀ» Ãß°¡ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ÀÛ¾÷¸¸À¸·Î ½ºÇÁ¸µÀº ÀÌ µµ¸ÞÀÎ ¿ÀºêÁ§Æ®°¡ ½ºÇÁ¸µ ÀÇÁ¸°ü°è »ðÀÔÀÌ ÇÊ¿äÇÑ °ÍÀ¸·Î ÆÇ´ÜÇÏ°í °´Ã¼ÀÇ »ý¼º ½ÃÁ¡À» °¡·Îä¼­ ÀÇÁ¸»ðÀÔÀ» ÁøÇàÇÑ´Ù.

¾î³ëÅ×À̼ÇÀ» ÀÌ¿ëÇÑ AspectJ¿Í ½ºÇÁ¸µÀÇ Àý¹¦ÇÑ °áÇÕÀÌ´Ù.

 <¸®½ºÆ® 10> ÀÇÁ¸»ðÀÔÀÌ °¡´ÉÇÑ µµ¸ÞÀÎ ¿ÀºêÁ§Æ®ÀÇ ¿¹


¸¶Áö¸·À¸·Î ¾ÆÁ÷Àº Á¤½ÄÀ¸·Î ¸±¸®Áî µÇÁö ¾Ê¾ÒÁö¸¸ ½ºÇÁ¸µ2.1¿¡¼­´Â µåµð¾î ÀÇÁ¸¼³Á¤ ÀÚü¸¦ ¾î³ëÅ×À̼ÇÀ» ÅëÇØ¼­ °¡´ÉÇϵµ·Ï ÇÏ´Â ±â¼úÀÌ µµÀ﵃ ¿¹Á¤ÀÌ´Ù. À̸¦ ÀÌ¿ëÇØ¼­ XMLÀÌ ¾ø´Â ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßµµ °¡´ÉÇÒ ¼öµµ ÀÖ´Ù.

  ¾î³ëÅ×À̼ÇÀ» Ȱ¿ëÇÑ ¿ÀǼҽº ÇÁ·ÎÁ§Æ®

½ºÇÁ¸µ°ú ÇÏÀ̹ö³×ÀÌÆ® À̿ܿ¡µµ ¸¹Àº ¿ÀǼҽº ÇÁ·ÎÁ§Æ®µéÀÌ Àû±ØÀûÀ¸·Î ¾î³ëÅ×À̼ÇÀ» Àû¿ëÇϰí ÀÖ´Ù.

AspectJ´Â ¹öÀü5¿¡¼­ºÎÅÍ ¾î³ëÅ×ÀÌ¼Ç ¹æ½ÄÀÇ Æ÷ÀÎÆ®ÄÆ, Á¶ÀÎÆ÷ÀÎÆ® ¼³Á¤À» Áö¿øÇϰí ÀÖ´Ù. À̸¦ ÀÌ¿ëÇÏ¸é ´Ü¼øÇÑ POJOºóÀ» ¾Ö½ºÆåƮó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Junitµµ 4.x¿¡¼­´Â ¾î³ëÅ×À̼ÇÀ» Ȱ¿ëÇÑ Å×½ºÆ® ¼³Á¤À» Áö¿øÇÑ´Ù.

±âÁ¸ÀÇ ³×ÀÌ¹Ö ·êÀ» ÀÌ¿ëÇÑ ¹æ½Äº¸´Ù ÈξÀ Á÷°üÀûÀÌ°í Æí¸®ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. Google-Guice¶ó´Â ±¸±Û¿¡¼­ »ç¿ëÇϰí ÀÖ´Â ÃֽŠIoC ÄÁÅ×À̳ʵµ ¾î³ëÅ×ÀÌ¼Ç ¼³Á¤À» ÁÖ¿ä °­Á¡À¸·Î ³»¼¼¿ì´Â Á¦Ç°ÀÌ´Ù.

ÀÌ·¸°Ô ¸¹Àº ¿ÀǼҽº ±â¼ú°ú Á¦Ç°µéÀÌ ¾Õ´ÙÅõ¾î ¼Ò½ºÄÚµåÀÇ ¾î³ëÅ×ÀÌ¼Ç ±â¼úÀ» Àû¿ëÇϰí ÀÖ´Ù. ÇÏÁö¸¸ ¾ÆÁ÷ ÇØ°áÇØ¾ß ÇÒ ¸î °¡Áö ¹®Á¦Á¡µéÀ» °¡Áö°í ÀÖ´Â µí º¸ÀδÙ.

¾ÆÁ÷µµ ¸¹Àº °³¹ßÀÚµéÀº ¼Ò½ºÄÚµå¿Í ¸ÞŸÁ¤º¸¸¦ ÇÔ²² µÎ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏÁö ¾Ê´Ù´Â ÀǰßÀ» °¡Áö°í ÀÖ´Ù. ºñ·Ï XMLÀÇ ¼³Á¤¹æ¹ýÀÌ ´õ ºÒÆíÇÏ´Ù°í ÇÒÁö¶óµµ ¸ÞŸÁ¤º¸¸¦ µ¶¸³½ÃŰ´Â °ÍÀÌ ÄÚµå¿Í ÇÔ²² µÎ´Â °Íº¸´Ù´Â ³´´Ù´Â ÁÖÀåÀÌ´Ù. ¾î³ëÅ×À̼ÇÀ̳ª À¯»ç ¸ÞŸÁ¤º¸ ±â¼úÀÇ ´ÜÁ¡Àº ±× ¸ÞŸÁ¤º¸°¡ ¹Ù²î¾úÀ» ¶§¸¶´Ù ÄÄÆÄÀÏÀÌ ´Ù½Ã ÀϾ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.

µû¶ó¼­ ¼Ò½º°¡ ÇÔ²² Á¦°øµÇÁö ¾Ê´Â ÇüÅÂÀÇ Á¦Ç°ÀÎ °æ¿ì ¾î³ëÅ×ÀÌ¼Ç »ç¿ë¿¡ Á¦¾àÀÌ ÀÖ´Ù. ´ÜÁö ±â¼úÀûÀÎ ¹®Á¦°¡ ¾Æ´Ï¶ó ÄÚµå¿Í ¸ÞŸÁ¤º¸ÀÇ È¥¿ë¿¡ ´ëÇÑ ¹®Á¦Á¦±âµµ ÀûÁö ¾Ê´Ù. ÀÌ·± ¸é¿¡¼­ ¾ÆÁ÷ ¾î³ëÅ×À̼ÇÀÌ ±× Æí¸®ÇÔ¿¡µµ ºÒ±¸ÇÏ°í ¿ÏÀüÈ÷ ¸ÞŸÁ¤º¸ ±â¼úÀ» ÆòÁ¤Çϰí ÀÖÁö´Â ¾Ê´Â µíÀÌ º¸ÀδÙ.

°Ô´Ù°¡ ÀÚ¹ÙÀÇ ¾î³ëÅ×ÀÌ¼Ç ±â¼úÀÚü¿¡ ´ëÇÑ ¿©·¯ °¡Áö ºñÆÇµµ Á¦±âµÇ°í ÀÖ´Ù. °áÁ¤ÀûÀÎ °ÍÀº XML¿¡ ºñÇØ¼­ ±× Á¤º¸±¸¼ºÀ» °ËÁõÇÏ´Â °ÍÀÌ ¸Å¿ì ºÒÆíÇÏ´Ù´Â °ÍÀÌ´Ù.

DTD³ª ½ºÅ°¸¶(Schema)¸¦ ÅëÇØ¼­ ¼Õ½±°Ô Á¤º¸±¸¼ºÀ» °ËÁõÇÒ ¼ö ÀÖ´Â XML¿¡ ¹ÝÇØ ¾î³ëÅ×À̼ÇÀº ±×·¯ÇÑ ±â¼úÀÇ Áö¿øÀÌ ¾ÆÁ÷Àº ¹ÌºñÇÏ´Ù. À̸¦ ÀÏÀÏÀÌ ÄÚµå·Î °ËÁõÇÏ´Â °Íµµ »ç½Ç °³¹ßÀڵ鿡°Ô´Â ºÒÆíÇÑ ÀÛ¾÷ÀÌ ¾Æ´Ò ¼ö ¾ø´Ù.

ÀÌ·± Àå´ÜÁ¡À» °¡Áö°í ÀÖ´Â ¾î³ëÅ×ÀÌ¼Ç ±â¼úÀÌÁö¸¸ ¼Õ½¬¿î ¼³Á¤¹æ½ÄÀ̶ó´Â ¸Å·Â ¶§¹®ÀÎÁö ±× ±â¼úµµÀÔÀº Á¡Á¡ È®´ëµÇ¾î °¡°í ÀÖ´Ù. À̸¦ Àß È°¿ëÇÑ ¿ÀǼҽºÀÇ ´Ù¾çÇÑ ±â¼úµéÀÌ ÇöÀå¿¡¼­ °ËÁõµÇ´Â °ÍÀ» ÅëÇØ¼­ ´ÙÀ½ ¹öÀü ÀÚ¹ÙÀÇ ¾î³ëÅ×ÀÌ¼Ç ±â¼úÀÌ ÇÑÃþ ´õ ¹ßÀüÇÒ ¼ö ÀÖ´Â °è±â°¡ µÉ ¼ö Àֱ⸦ ±â´ëÇØº»´Ù. @


Âü°íÀÚ·á
1. Spring 2.0 reference manual, http://static.springframework.org/spring/docs/2.0.x/reference/index.html
2. Expert One-on-One J2EE Development without EJB, Rod Johnson, Wrox
3. Professional Java Development with the Spring Framework, Rod Johnson, Wrox



* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.
°ü·Ã±â»ç
[ÇÁ·¹ÀÓ¿öÅ© Àü·« ¨è] ÇÁ·¹ÀÓ¿öÅ© À̸ÓÀü½ºÀÇ ¹ÌÇÐ
ÀÚ¹Ù°³¹ßÀÚ Æä½ºÆ¼¹ú - The Power Of The Java¡¸2006 ÀÚ¹Ù¿ø ÄÁÆÛ·±½º¡¹
POJO·Î µ¹¾Æ¿Â¡¸EJB 3.0°ú ÀÚ¹Ù ÆÛ½Ã½ºÅϽº API¡¹
À¥ 2.0 ½Ã´ë¸¦ ¼±µµÇÒ¡¸ÀÚ¹Ù À¥ ¼­ºñ½º 2.0¡¹
ÇÁ·¹ÀÓ¿öÅ© Ȱ¿ëÀü·«
°´Ã¼ÁöÇâÀ» ³Ñ¾î °üÁ¡ÁöÇâÀ¸·Î AOP
[ÀÚ¹Ù SOA °³¹ß, ¥Á¿Í ¥Ø] ¨ê ¾À Ŭ¶óÀÌ¾ðÆ®¿Í J2ME Ŭ¶óÀÌ¾ðÆ® ±¸Ãà
[ÀÚ¹Ù SOA °³¹ß, ¥Á¿Í ¥Ø] ¨é EJB¿Í ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® ±¸Ãà
[ÀÚ¹Ù SOA °³¹ß, ¥Á¿Í ¥Ø] ¨è SOA ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß ¹æÇâ
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[Ã¥¼Ò°³]ÇÁ¸®Á¨Å×ÀÌ¼Ç Á¨: »ý°¢À»...
[DDD ¨ç] µµ¸ÞÀÎ ÁÖµµ °³¹ß
°¡»óÈ­¿¡ ½ÇÆÐÇÏ´Â 10°¡Áö ÀÌÀ¯
À©µµ¿ìCE µð¹ö±ë¿¡ °üÇÑ 12°¡Áö...
[±â°í]±×¸° ½ºÅ丮Áö·Î °¡´Â±æ
[Ã¥¼Ò°³] À¥ °³¹ßÀÚ¸¦ À§ÇÑ ½ºÇÁ...
À©µµ¿ìCE °³¹ßÅø¿¡ °üÇÑ 12°¡Áö...
[¿ÀÇÂÀÎÅͺä]Àè Äá HTCºÎ»çÀå "½º¸¶Æ®Æù ½ÃÀå °³Ã´, Áö±ÝÀÌ Àû±â" [00:17:38]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
[»ï¼º ¿½ ½ºÅ丮-¨è]'P2 DMB' °ÑÆ÷Àå, Æò¹üÄ¡ ¾ÊÀº ÀÌÀ¯ ÀÖ¾ú³× [00:10:13]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
º¸¾È°­È­ ±¸±Û ¡°À©µµ ¹ö¸®°í À¥À¸...
¡®À©µµXP¡¯½Ã´ë Æó¸·, »ç¿ëÀÚ¿¡°Ô...
¡®³ªÈ¦·Î ¾×ƼºêX¡¯¡¦¼¼°è ÀÎÅͳݰú...
ÀÎÅÍ³Ý ¹ðÅ· ºê¶ó¿ìÀú´Â µû·Î ÀÖ´Ù...
SKT µ¶Á¡ 800MHz Á֯ļö,...
[ºÎÀ½]±èÈ«¿µ ÆÒÅð迭 CSº»ºÎÀå...
¹æÅëÀ§, ¹æ¼ÛÄÜÅÙÃ÷ ÁøÈï»ç¾÷¿¡ 2...
LG¿£½Ã½º, IT ÀÎÀç ¾ç¼º »êÇÐ...
NHN, ÀÎõ°øÇ׿¡ ¹«·á ÀÎÅÍ³Ý ...
[Àλç]ÇϳªÀºÇà
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.