³ªºñ ÄÁÅ×À̳ÊÁ¾¼Ó¼º ÁÖÀÔ ÄÁÅ×ÀÌ³Ê | |
Áö±Ý ´Ù¿î·Îµå |
³ªºñ ÄÁÅ×ÀÌ³Ê ¼øÀ§ ¹× ¿ä¾à
±¤°í
- ƯÇã:
- The Apache License 2.0
- °¡°Ý:
- FREE
- °Ô½ÃÀÚ À̸§:
- Jakob Jenkov
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://butterfly.jenkov.com/testing-tools/index.html
³ªºñ ÄÁÅ×ÀÌ³Ê Å±×
³ªºñ ÄÁÅ×ÀÌ³Ê ¼³¸í
Á¾¼Ó¼º ÁÖÀÔ ¿ë±â ³ªºñ ÄÁÅ×À̳ʴ Á¾¼Ó¼º ÁÖÀÔ ÄÁÅ×À̳ÊÀÔ´Ï´Ù. ¹öÅÍ ÇöóÀÌ ÄÁÅ×À̳ʴ º½, ÇÇÄÚ ¹× ±âüº¸´Ù ÀÛ°íº¸´Ù À¯¿¬ÇÏ°í »ç¿ëÇϱ⠽±½À´Ï´Ù. XML ¹öÅÍ ÇöóÀÌ ÄÁÅ×ÀÌ³Ê ´ë½Å¿¡ °£´ÜÇÏ°í À¯¿¬ÇÑ Java¿Í À¯»çÇÑ ±¸¼º ¾ð¾î¸¦ »ç¿ëÇÏ¿© ±¸¼ºµË´Ï´Ù. ¿ì¾ÆÇÑ Java Á¾¼Ó¼º ÁÖÀÔ ÄÁÅ×À̳Ê. ÀÚ¹ÙÀÇ Á¾¼Ó¼º ÁÖÀÔ Container.butterfly ÄÁÅ×À̳ʴ óÀ½¿¡´Â º½ÀÇ °¡º¿î ´ë¾ÈÀ¸·Î °³¹ßµÇ¾ú½À´Ï´Ù. ºÎ¿© µÈ, ÀÌ¹Ì ÇÇÄÚ ÄÁÅ×À̳ʰ¡ ÀÖÁö¸¸ ±×°ÍÀÇ °ÅÄ£ °¡ÀåÀÚ¸®°¡ ÀÖ½À´Ï´Ù. ³ªÁß¿¡ ·çµð½º°¡ ÀÖ¾úÁö¸¸ ¸î °¡Áö ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. º½Àº ±¸¼ºÇϱ⿡ ÇÕ¸®ÀûÀ¸·Î °£´ÜÇÏÁö¸¸ Áö±ÝÀº Å« ÇÁ·¹ÀÓ ¿öÅ©ÀÔ´Ï´Ù. ±×°ÍÀº ±× Á¾¼Ó¼ºÀ» Æ÷ÇÔÇÏ°í Æ÷ÇÔÇÏÁö ¾ÊÀ» °ÍÀ̶ó´Â °ÍÀ» ¾Ë±â À§ÇØ ³ë·ÂÇÕ´Ï´Ù. ¶ÇÇÑ XML ±¸¼º ÆÄÀÏÀÌ ÀÚ¼¼ÇÑ °ÍÀÌ°í, Áö·çÇÏ°í ÀбⰡ ³Ê¹« ½±Áö ¾Ê½À´Ï´Ù. Springsº¸´Ù °£´ÜÇÑ XML ±¸¼º ÆÄÀÏ Çü½ÄÀ¸·Î °£´ÜÇÑ Java¿Í À¯»çÇÑ ConfigurationBly ÄÁÅ×À̳ʰ¡ ½ÃÀ۵Ǿú½À´Ï´Ù. ³Ê¹« À¶Å뼺ÀÌ ¾ø±â ¶§¹®¿¡ °ð ¹ö·ÁÁ³½À´Ï´Ù. ´ë½Å ³ªºñ ÄÁÅ×ÀÌ³Ê ½ºÅ©¸³Æ®¶ó°íÇÏ´Â Java¿Í À¯»çÇÑ ±¸¼º ½ºÅ©¸³Æ® ¾ð¾î°¡ ¹ß¸íµÇ¾ú½À´Ï´Ù. º¸½Ã´Ù½ÃÇÇ,ÀÌ ½ºÅ©¸³Æ® ¾ð¾î´Â Spring, Pico ¹× Guice¿¡¼ »ç¿ëÇÏ´Â ¸ÞÄ¿´ÏÁòº¸´Ù DI ÄÁÅ×À̳ʸ¦ ±¸¼ºÇÏ´Â ÈξÀ °£´ÜÇÑ ¹æ¹ýÀÔ´Ï´Ù. ´ÙÀ½Àº °£´ÜÇÑ ¿¹ÀÔ´Ï´Ù. myBean1 = * com.jenkov.mybean (); / * °£´ÜÇÑ ÀνºÅϽºÈ * / mybean2 = * com.jenkov.mybean (myBean1); / * »ý¼ºÀÚ ÀÎÁ§¼Ç * / myBean3 = * com.jenkov.myBean (MyBean2). SetExtrabean (MyBean1); / * »ý¼ºÀÚ + ¼³Á¤ÅÍ »ðÀÔ * / ½ºÇÁ¸µ½º XML ±¸¼º ÆÄÀϺ¸´Ù ÈξÀ ´õ ¸¹Àº ÀÚ¹Ù ÄÚµå¿Í ºñ½ÁÇÏÁö ¾Ê½À´Ï±î? °øÀå Á¤ÀǸ¦ Çص¶ÇÏ´Â °ÍÀº ¸Å¿ì ½±½À´Ï´Ù. MyBean Ŭ·¡½º´Â ´ÜÁö ¿¹ÀÏ»ÓÀÔ´Ï´Ù. ±×°ÍÀº ´ç½ÅÀÌ ÁÁ¾ÆÇÏ´Â ¸ðµç Java Ŭ·¡½º ÀÏ ¼ö ÀÖ½À´Ï´Ù. ±¸¼º ½ºÅ©¸³Æ® ¾ð¾î°¡ÀÖ´Â À¯¿¬ÇÑ ConfigureformÀº ¸Å¿ì À¯¿¬ÇÑ ±â´ÉÀ» ¸¹ÀÌ Á¦°øÇß½À´Ï´Ù. ±âÁ¸ °øÀå Á¤ÀǸ¦ È®ÀåÇÏ´Â ¹æ¹ýÀº ¹«¾ùÀԴϱî? ´ÙÀ½Àº ¾ó¸¶³ª °£´ÜÇÑ °ÍÀÌ ÀÖ½À´Ï´Ù : myBean1 = * com.jenkov.mybean (); / * °£´ÜÇÑ ÀνºÅϽºÈ * / mybean2 = myBean1.setValue ( "ÀϺΠ°ª"); / * °øÀå È®Àå MyBean1 * / ±âÁ¸ °øÀå Á¤ÀÇ È®ÀåÀº Áߺ¹ °øÀå Á¤ÀÇ¿¡ °¡±õ°Ô Á¦°Å ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç´Â °øÀåÀÌ ÀÔ·Â ¸Å°³ º¯¼ö¸¦ °¡Á® ¿À´Â °ÍÀº ¾î¶³±î¿ä? ´ÙÀ½Àº ¹æ¹ýÀÔ´Ï´Ù : myBean1 = * com.jenkov.mybean (); / * °£´ÜÇÑ ÀνºÅϽºÈ * / mybean2 = myBean1.setValue ($ 0); / * ÀÔ·Â ¸Å°³ º¯¼ö * / myBean3 = myBean2 ( "¸Å°³ º¯¼ö °ª"); / * ¸Å°³ º¯¼ö°¡ÀÖ´Â °øÀå È£Ãâ * / º½, ÇÇÄÚ ¶Ç´Â ±â°æ À¸·ÎÀÌ ÀÛ¾÷À» ¼öÇà ÇÒ ¼ö ÀÖ½À´Ï±î? ¾ÆÁ÷µµ »õ·Î¿î,º¸´Ù À¯¿¬ÇÏ°í °í±Þ ±¸¼º ¾ð¾î°¡ ³ªºñ ÄÁÅ×À̳ʰ¡ ¹«°Å¿öÁöÁö ¾Ê¾Ò½À´Ï´Ù (½ÇÁ¦·Î ³»ºÎ µðÀÚÀÎÀ» ´Ü¼øÈÇß½À´Ï´Ù). 70KB ¹Ì¸¸ÀÇ JAR ÆÄÀÏ ³ªºñ ÄÁÅ×À̳ʴ ¿©ÀüÈ÷ °¡Àå °¡º¿î Java Á¾¼Ó¼º ÁÖÀÔ ÄÁÅ×ÀÌ³Ê ÁÖÀ§¿¡ ÀÖ½À´Ï´Ù. ³ªºñ ÄÁÅ×À̳ʰ¡ °¡Àå °¡º¿î Java DI ÄÁÅ×ÀÌ³Ê ÀÎ °æ¿ì ¿©ÀüÈ÷ º½, ÇÇÄÚ ¹× ¿ËÀÌ. ¿¹¸¦ µé¾î : ¡¤ »ý¼ºÀÚ »çÃâ ¡¤ ¹æ¹ý ÁÖÀÔ (Á¤Àû + ÀνºÅϽº) ¡¤ °øÀå ÁÖÀÔ ¡¤ ÀνºÅϽº ¼ö¸íÁֱ⠰ü¸® ¡¤ ½Å±Ô / ½Ì±Û Åæ ¡¤ ³ª»ç ½Ì±Û Åæ ¡¤ ·ÎÄÃ, ÀÍ¸í °øÀå ÀÚ·á´Â ¸î °¡Áö µ¶Æ¯ÇÑ Æ¯Â¡À» °¡Áö°í ÀÖ½À´Ï´Ù : ¡¤ º¸À̵带 ¹ÝȯÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¹æ¹ý üÀÌ´× ¹æ¹ý ¡¤ »ç¿ëÀÚ Á¤ÀÇ °øÀå ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ÀûÀÀ ¡¤ Flyweights ¿ä±¸ »çÇ× : ¡¤ Java 2 Standard Edition ·±Å¸ÀÓ È¯°æ ÀÌ ¸±¸®½º¿¡¼´Â »õ·Î¿î ±â´É : ¡¤ÀÌ ¹öÀüÀº ½¬¿î ¸Ê ±¸¼º°ú ÄÁÅ×ÀÌ³Ê ½ºÅ©¸³Æ®¸¦ ÀÐÀº ÀÔ·Â ½ºÆ®¸²¿¡ À̸§À» ÇÒ´çÇÏ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ¡¤ÀÌ À̸§Àº ½ºÅ©¸³Æ®¿¡¼ ¿À·ù°¡ °¨ÁöµÇ¸é ¿À·ù°¡ ¹ß»ýÇÑ ÆÄÀÏÀ» ½±°Ô ãÀ» ¼ö ÀÖ½À´Ï´Ù. ¡¤ ScriptFactoryBuilder°¡ ½ºÅ©¸³Æ® ÀÔ·Â ½ºÆ®¸²À» ´ÝÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¡¤ÀÌ ¹öÀüÀº ÆÄ½Ì ¹× ¿À·ù ¸Þ½ÃÁö¿Í °ü·ÃµÈ »ç¼ÒÇÑ ¹ö±×¸¦ ¼öÁ¤ÇÕ´Ï´Ù.
³ªºñ ÄÁÅ×ÀÌ³Ê °ü·Ã ¼ÒÇÁÆ®¿þ¾î