SpringÀº ·ÎµåÁ¸½¼ÀÌ ¸¸µç ¿ÀǼҽº ÇÁ·¹ÀÓ ¿öÅ©À̸ç, ±×ÀÇ Ã¥ÀÎ Expert one-on-one : j2ee design and development¿¡ óÀ½ ¼Ò°³ µÇ¾ú´Ù ÇÑ´Ù. ¾î¶ó...³ª ÀÌÃ¥ ºÃ´Âµ¥..¿Ö ¸ô¶úÁö¡¦
ÀÌ Ã¥¿¡¼ ½ºÇÁ¸µÀÇ ¿ø·¡ À̸§Àº interface21ÀÌ ¾ú´Ù.
½ºÇÁ¸µ¿¡ ´ëÇÑ °¨À» Àâ±â À§ÇÑ ¼³¸íÀº¡¦
1.°æ·®
Å©±â¿Í ºÎÇÏÀÇ Ãø¸é¿¡¼ °æ·®ÀÌ°í 1MB Å©±âÀÇ jarÆÄÀÏ·Î ¹èÆ÷µÈ´Ù. ±×¸®°í ½ºÇÁ¸µÀº ħÀÔÀûÀÌÁö ¾Ê´Ù°í ÇÑ´Ù. ¹«½¼¸»ÀÎÁö..ÂÁ ½ºÇÁ¸µÀ» µµÀÔÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀÇ °´Ã¼°¡ º¸ÅëÀÇ °æ¿ì ½ºÇÁ¸µÀÇ Æ¯Á¤ Ŭ·¡½º¿¡ ´ëÇÑ ÀÇÁ¸¼ºÀ» °®Áö ¾Ê´Â´Ù´Â Àǹ̶ó°í ÇÑ´Ù. ±×³É ejb¿¡ ºñÇØ ÀÇÁ¸¼ºÀÌ ¾ø´Ù´Â ¾ê±â·Î ÀÌÇØÇÏ°í ³Ñ¾î°¡¾ß °Ú´Ù
2.Á¦¾î¿ªÇà
Á¦¾î¿ªÇà(IoC, Inversion of Control)À̶ó´Â ±â¼úÀ» ÅëÇØ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ´À½¼ÇÑ °áÇÕÀ» µµ¸ðÇÑ´Ù.
ÀÌ ¸»Àº ±âº»°³³äÀº °´Ã¼¸¦ »ý¼ºÇϰųª ã´Â ´ë½Å, ±¸ÇöµÇ´Â ¹æ¹ýÀ» ±â¼úÇÏ´Â °ÍÀÌ´Ù. ÄÄÆ÷³ÍÆ®¿Í ¼ºñ½ºµéÀ» Äڵ忡 Á÷Á¢ ¿¬°áÇÏÁö´Â ¾ÊÁö¸¸, ¼³Á¤ ÆÄÀÏ¿¡¼ ¾î¶² ÄÄÆ÷³ÍÆ®°¡ ¾î¶² ¼ºñ½º¸¦ ¿ä±¸ÇÏ´ÂÁö¸¦ ±â¼úÇÑ´Ù. ÄÁÅ×À̳Ê(ÀÌ °æ¿ì, Spring ÇÁ·¹ÀÓ¿÷, IOC ÄÁÅ×À̳Ê)´Â ÀÌ ¸ðµç °ÍÀ» ¿¬°áÇÑ´Ù.
3.°üÁ¡ÁöÇâ
°üÁ¡ÁöÇâ ÇÁ·Î±×·¡¹Ö(AOP, Aspect-Oriented Programming)À» À§ÇÑ Ç³ºÎÇÑ Áö¿øÀ» ÇÑ´Ù. ¿©±â¼ °üÁ¡ÁöÇâ ÇÁ·Î±×·¡¹ÖÀ̶õ ºñÁî´Ï½º ·ÎÁ÷À» ÇÁ·Î±×·¥¹ÖÇÏ°Ô¸¸ ÇÑ´Ù´Â °ÍÀÌ´Ù. Æ®·£Àè¼Ç°ú ½Ã½ºÅÛ °¨½Ã°°Àº °ÍÀº °ü·Ã ¸ðµâÀ» ÀÌ¿ëÇÏ¸é µÈ´Ù.
http://aopalliance.soureforge.net Âü°íÇÏ¸é µÈ´Ù.
4.ÄÁ³×À̳Ê
¾îÇø®ÄÉÀÌ¼Ç °´Ã¼ÀÇ »ý¸íÁÖ±â¿Í ¼³Á¤À» Æ÷ÇÔÇÏ°í °ü¸®ÇÑ´Ù´Â Á¡¿¡¼ ½ºÇÁ¸µÀº ÀÏÁ¾ÀÇ ÄÁÅ×À̳ÊÀÌ°í, ºóÀ» »ý¼º, ºóÀÇ ¿¬°ü ¼³Á¤µî ÇÒ ¼ö ÀÖ´Ù°í ÇÑ´Ù.
5.ÇÁ·¹ÀÓ¿öÅ©
½ºÇÁ¸µ¿¡¼´Â Æ· ÆÄÀϳ»¿¡ ¼±¾ðÀûÀ¸·Î ±¸¼ºÇÏ¿© ¾ÖÇø®ÄÉÀÌ¼Ç °´Ã¼¸¦ »ý¼ºÇÏ¸ç ¾îÇø®ÄÉÀÌ¼Ç ·ÎÁ÷ °³¹ßÀº °³¹ßÀÚ¿¡°Ô ¸Ã±â°í ±× ÀÌ¿Ü´Â ±â´ÉÀº ¸ðµâ·Î¼ Á¦°øÇÑ´Ù.
Spring ÇÁ·¹ÀÓ¿÷À» ±¸¼ºÇÏ´Â °¢ ¸ðµâ(¶Ç´Â ÄÄÆ÷³ÍÆ®)Àº µ¶¸³ÀûÀ̰ųª, ´Ù¸¥ ¸ðµâµé°ú ÇÔ²² ±¸ÇöµÈ´Ù. °¢ ÄÄÆ÷³ÍÆ®ÀÇ ±â´ÉÀº ´ÙÀ½°ú °°´Ù.
- ÄÚ¾î ÄÁÅ×À̳Ê(core container): Spring ÇÁ·¹ÀÓ¿÷ÀÇ ÇÙ½É ±â´ÉÀ» Á¦°øÇÑ´Ù. ÄÚ¾î ÄÁÅ×À̳ÊÀÇ ÁÖ¿ä ÄÄÆ÷³ÍÆ®´Â BeanFactory(Factory ÆÐÅÏÀÇ ±¸Çö)ÀÌ´Ù. BeanFactory´Â Inversion of Control (IOC) ÆÐÅÏÀ» »ç¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼³Á¤ ¹× ÀÇÁ¸¼º ½ºÆÑÀ» ½ÇÁ¦ ¾ÖÇø®ÄÉÀÌ¼Ç Äڵ忡¼ ºÐ¸®½ÃŲ´Ù.
- Spring ÄÁÅؽºÆ®(Spring context): Spring ÇÁ·¹ÀÓ¿÷¿¡ ÄÁÅؽºÆ® Á¤º¸¸¦ Á¦°øÇÏ´Â ¼³Á¤ ÆÄÀÏÀÌ´Ù. Spring ÄÁÅؽºÆ®¿¡´Â JNDI, EJB, ±¹Á¦È, ¹ë¸®µ¥À̼Ç, ½ºÄÉÁÙ¸µ °°Àº ¿£ÅÍÇÁ¶óÀÌÁî ¼ºñ½ºµéÀÌ Æ÷ÇԵȴÙ.
- Spring AOP ¸ðµâ(Spring AOP): ¼³Á¤ °ü¸® ±â´ÉÀ» ÅëÇØ aspect ÁöÇâ ÇÁ·Î±×·¡¹Ö ±â´ÉÀ» Spring ÇÁ·¹ÀÓ¿÷°ú Á÷Á¢ ÅëÇÕ½ÃŲ´Ù. µû¶ó¼ Spring ÇÁ·¹ÀÓ¿÷¿¡¼ °ü¸®µÇ´Â ¸ðµç °´Ã¼¿¡¼ AOP°¡ °¡´ÉÇÏ´Ù. Spring AOP ¸ðµâÀº Spring ±â¹Ý ¾ÖÇø®ÄÉÀ̼ǿ¡¼ °´Ã¼¿¡ Æ®·£Àè¼Ç °ü¸® ¼ºñ½º¸¦ Á¦°øÇÑ´Ù. Spring AOP¿¡¼´Â EJB ÄÄÆ÷³ÍÆ®¿¡ ÀÇÁ¸ÇÏÁö ¾Ê°íµµ ¼±¾ðÀû Æ®·£Àè¼Ç °ü¸®¸¦ ¾ÖÇø®ÄÉÀ̼ǰú °áÇÕÇÒ ¼ö ÀÖ´Ù.
- Spring DAO: Spring JDBC DAO Ãß»ó ·¹À̾î´Â ´Ù¸¥ µ¥ÀÌÅͺ£À̽º º¥´õµéÀÇ ¿¹¿Ü Çڵ鸵°ú ¿À·ù ¸Þ½ÃÁö¸¦ °ü¸®ÇÏ´Â Áß¿äÇÑ ¿¹¿Ü °èÃþÀ» Á¦°øÇÑ´Ù. ÀÌ ¿¹¿Ü °èÃþÀº ¿À·ù Çڵ鸵À» °£¼ÒÈÇÏ°í, ¿¹¿Ü ÄÚµåÀÇ ¾çµµ ÁÙ¿©ÁØ´Ù. Spring DAOÀÇ JDBC ¿¹¿Ü´Â ÀÏ¹Ý DAO ¿¹¿Ü °èÃþ¿¡ ¼øÀÀÇÑ´Ù.
- Spring ORM: ÇÁ·¹ÀÓ¿÷Àº ¿©·¯ ORM ÇÁ·¹ÀÓ¿÷¿¡ Ç÷¯±×ÀÎ µÇ¾î, Object Relational Åø (JDO, Hibernate, iBatis SQL Map)À» Á¦°øÇÑ´Ù. ÀÌ ¸ðµç °ÍÀº SpringÀÇ ÀÏ¹Ý Æ®·£Àè¼Ç°ú DAO ¿¹¿Ü °èÃþ¿¡ ¼øÀÀÇÑ´Ù.
- Spring Web module: À¥ ÄÁÅؽºÆ® ¸ðµâÀº ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅؽºÆ® ¸ðµâÀÇ »ó´Ü¿¡ ±¸ÇöµÇ¾î, À¥ ±â¹Ý ¾ÖÇø®ÄÉÀ̼ǿ¡ ÄÁÅؽºÆ®¸¦ Á¦°øÇÑ´Ù. Spring ÇÁ·¹ÀÓ¿÷Àº Jakarta Struts¿ÍÀÇ ÅëÇÕÀ» Áö¿øÇÑ´Ù. À¥ ¸ðµâÀº ´ÙÁß ¿äûÀ» Çڵ鸵ÇÏ°í, ¿äû ¸Å°³º¯¼ö¸¦ µµ¸ÞÀÎ °´Ã¼·Î ¹ÙÀεùÇÏ´Â ÀÛ¾÷À» ¼ö¿ùÇÏ°Ô ÇÑ´Ù.
- Spring MVC framework: MVC ÇÁ·¹ÀÓ¿÷Àº ¿ÏÀüÇÑ ±â´ÉÀ» °®Ãá MVC ±¸ÇöÀÌ´Ù. MVC ÇÁ·¹ÀÓ¿÷Àº Àü·« ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ¼³Á¤ÇÒ ¼ö ÀÖÀ¸¸ç, JSP, Velocity, Tiles, iText, POI °°Àº ´Ù¾çÇÑ ºä ±â¼úÀ» Çã¿ëÇÑ´Ù.
Pasted from <http://www-128.ibm.com/developerworks/kr/library/wa-spring1/>