½ºÇÁ¸µ ±âÃÊ À̷кÎÅÍ ½ºÇÁ¸µ ºÎÆ®, À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Çö, º¸¾È °È, ¸®ÆÑÅ͸µ, Å×½ºÆ®±îÁö °³¹ß Àü¹ÝÀÇ ³»¿ëÀ» Ã¥ ÇÑ ±Ç¿¡ ¸ðµÎ ´ã¾Ò´Ù!
ÀÌ Ã¥ÀÇ ÃÖÁ¾ ¸ñÇ¥´Â ½ºÇÁ¸µÀ» ´Ù¾çÇÑ ¿¹Á¦¸¦ õõÈ÷ µû¶ó ÇÏ¸ç ¹è¿ì°í, ´õºÒ¾î ½Ç¹« °¨°¢À» ³ô¿© ½ÇÀü¿¡ ¹Ù·Î Àû¿ëÇÏ´Â °ÍÀÌ´Ù.
À̸¦ À§ÇØ 1ºÎ¿¡¼´Â ±âÃʸ¦ ¹è¿ì°í 2ºÎ¿¡¼´Â ÁÖ¾îÁø ½Ç½ÀÀ¸·Î Á÷Á¢ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÇöÇÑ´Ù. 1ºÎ¿¡¼´Â ½ºÇÁ¸µÀÇ ±âº» ±¸¼º ¿ä¼ÒÀÎ ½ºÇÁ¸µ ÄÁÅؽºÆ®¿Í ½ºÇÁ¸µ ¾Ö½ºÆÑÆ®ÀÇ »ç¿ë ¹æ¹ýÀ» ÇнÀÇÑ´Ù.
Ã¥ÀÇ ÈĹݺο¡¼ ¸ðµç ½ºÇÁ¸µÀÇ ±â´ÉÀÌ ÀÌ·¯ÇÑ Çʼö ±¸¼º ¿ä¼Ò¿¡ ÀÇÁ¸ÇÑ´Ù´Â °ÍÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ù. 2ºÎ¿¡¼´Â ½ÇÁ¦·Î ÀÚÁÖ »ç¿ëµÇ´Â ½ºÇÁ¸µ ±â´ÉÀ¸·Î ¾ÛÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ÇнÀÇÑ´Ù. ±×¸®°í ½ºÇÁ¸µÀÌ ÀÌ·¯ÇÑ ÀÛ¾÷À» °£´ÜÇÏ°í ½±°Ô ¸¸µé¾îÁشٴ °ÍÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ù.
½ºÇÁ¸µ ¾Û¿¡¼ ±¸ÇöÇÑ ±â´É¿¡ ´ëÇÑ ´ÜÀ§ Å×½ºÆ®¿Í ÅëÇÕ Å×½ºÆ® ÀÛ¼º ¹æ¹ý±îÁö ´Ù·ç°í Àֱ⿡ ÀÌ ÇÑ ±ÇÀ¸·Î °³¹ß Àü¹ÝÀÇ ³»¿ëÀ» ¹è¿ï ¼ö ÀÖ´Ù. ²À ¹è¿ö¾ß ÇÒ °³³äµé¸¸ È®½ÇÇÏ°Ô ´ãÀº ÀÌ Ã¥À¸·Î ½ºÇÁ¸µ¿¡ ½±°Ô ÀÔ¹®ÇÏ°í ½Ç¹«¿¡ ¹Ù·Î Àû¿ëÇØ º¸ÀÚ.
¿£´Ù¹Ù(Endava)¿¡¼ Àü¹® °³¹ß ¸®µåÀÌÀÚ Æ®·¹À̳ʷΠÀÏÇϸç À¯·´, ¹Ì±¹, ¾Æ½Ã¾ÆÀÇ °í°´À» ´ë»óÀ¸·Î ÇÏ´Â ±ÝÀ¶ ½ÃÀå ÇÁ·ÎÁ§Æ®ÀÇ °³¹ßÀ» À̲ø°í ÀÖ´Ù. 10³â ÀÌ»óÀÇ °æ·ÂÀÌ ÀÖ´Â ±×´Â °íÇ°ÁúÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ Á¦°øÇÏ´Â °Í»Ó¸¸ ¾Æ´Ï¶ó Áö½ÄÀ» °øÀ¯ÇÏ°í ´Ù¸¥ À̵éÀÇ ¿ª·® Çâ»óÀ» µ½´Â °ÍÀÌ Áß¿äÇÏ´Ù°í ¹Ï´Â´Ù. ÀÌ·¯ÇÑ ½Å³äÀº ±×°¡ ÀÚ¹Ù ±â¼ú °ü·Ã ÄÚ½º¸¦ ¼³°èÇÏ°í °¡¸£Ä¡¸ç, ¹ßÇ¥¿Í ¿öÅ©¼óÀ» ÁøÇàÇϵµ·Ï À̲ø¾ú´Ù.
1ºÎ ±âÃÊ
1Àå Çö½Ç ¼¼°èÀÇ ½ºÇÁ¸µ
1.1 ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó·Î ÁøÈ
1.2 ½ºÇÁ¸µ »ýÅ°è
__1.2.1 ½ºÇÁ¸µ ÄÚ¾îÀÇ ÀÌÇØ: ½ºÇÁ¸µ ±âÃÊ
__1.2.2 ½ºÇÁ¸µ µ¥ÀÌÅÍ ¾×¼¼½º ±â´ÉÀ» »ç¿ëÇÑ ¾Û ¿µ¼Ó¼º ±¸Çö
__1.2.3 À¥ ¾Û °³¹ßÀ» À§ÇÑ ½ºÇÁ¸µ MVC ±â´É
__1.2.4 ½ºÇÁ¸µ Å×½ºÆ® ±â´É
__1.2.5 ½ºÇÁ¸µ »ýÅ°èÀÇ ÇÁ·ÎÁ§Æ®
1.3 ½ÇÁ¦ ½Ã³ª¸®¿À¿¡¼ ½ºÇÁ¸µ
__1.3.1 ¹é¿£µå ¾Û °³¹ß¿¡¼ ½ºÇÁ¸µ »ç¿ë
__1.3.2 ÀÚµ¿È Å×½ºÆ® ¾Û¿¡¼ ½ºÇÁ¸µ »ç¿ë
__1.3.3 µ¥½ºÅ©Åé ¾Û °³¹ß¿¡¼ ½ºÇÁ¸µ »ç¿ë
__1.3.4 ¸ð¹ÙÀÏ ¾Û¿¡¼ ½ºÇÁ¸µ »ç¿ë
1.4 ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÒ ¶§
__1.4.1 ÀÛ°Ô ¸¸µé¾î¾ß ÇÑ´Ù
__1.4.2 º¸¾È¿¡´Â ¸ÂÃãÇü Äڵ尡 ÇÊ¿äÇÏ´Ù
__1.4.3 ±âÁ¸ÀÇ °úµµÇÑ ¸ÂÃãÈ·Î ÇÁ·¹ÀÓ¿öÅ©°¡ ½Ç¿ëÀûÀÌÁö ¸øÇÏ´Ù
__1.4.4 ÇÁ·¹ÀÓ¿öÅ©·Î ¹Ù²Ù¾îµµ ÀÌÁ¡ÀÌ ¾ø´Ù
1.5 ÀÌ Ã¥¿¡¼ ¹è¿ï °Í
1.6 ¿ä¾à
2Àå ½ºÇÁ¸µ ÄÁÅؽºÆ®: ºó Á¤ÀÇ
2.1 ¸ÞÀ̺ì ÇÁ·ÎÁ§Æ® »ý¼º
2.2 ½ºÇÁ¸µ ÄÁÅؽºÆ®¿¡ »õ·Î¿î ºó Ãß°¡
__2.2.1 @Bean ¾Ö³ÊÅ×À̼ÇÀ» »ç¿ëÇÏ¿© ½ºÇÁ¸µ ÄÁÅؽºÆ®¿¡ ºó Ãß°¡
__2.2.2 ½ºÅ×·¹¿ÀŸÀÔ ¾Ö³ÊÅ×À̼ÇÀ¸·Î ½ºÇÁ¸µ ÄÁÅؽºÆ®¿¡ ºó Ãß°¡
__2.2.3 ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î ½ºÇÁ¸µ ÄÁÅؽºÆ®¿¡ ºó Ãß°¡
2.3 ¿ä¾à
3Àå ½ºÇÁ¸µ ÄÁÅؽºÆ®: ºó ÀÛ¼º
3.1 ±¸¼º ÆÄÀÏ¿¡¼ Á¤ÀÇµÈ ºó °£ °ü°è ±¸Çö
__3.1.1 µÎ @Bean ¸Þ¼µå °£ Á÷Á¢ ¸Þ¼µå¸¦ È£ÃâÇÏ´Â ºó ÀÛ¼º
__3.1.2 @Bean ¸Þ¼µåÀÇ ¸Å°³º¯¼ö·Î ºó ¿ÍÀ̾Çϱâ
3.2 @Autowired ¾Ö³ÊÅ×À̼ÇÀ» »ç¿ëÇÑ ºó ÁÖÀÔ
__3.2.1 @Autowired·Î Ŭ·¡½º Çʵ带 ÀÌ¿ëÇÑ °ª ÁÖÀÔ
__3.2.2 @Autowired¸¦ »ç¿ëÇÏ¿© »ý¼ºÀÚ·Î °ª ÁÖÀÔ
__3.2.3 setter¸¦ ÀÌ¿ëÇÑ ÀÇÁ¸¼º ÁÖÀÔ »ç¿ë
3.3 ¼øȯ ÀÇÁ¸¼º ´Ù·ç±â
3.4 ½ºÇÁ¸µ ÄÁÅؽºÆ®¿¡¼ ¿©·¯ ºó Áß ¼±ÅÃÇϱâ
3.5 ¿ä¾à
4Àå ½ºÇÁ¸µ ÄÁÅؽºÆ®: Ãß»óÈ
4.1 °è¾à Á¤ÀǸ¦ À§ÇÑ ÀÎÅÍÆäÀ̽º »ç¿ë
__4.1.1 ±¸Çö ºÐ¸®¸¦ À§ÇØ ÀÎÅÍÆäÀ̽º »ç¿ë
__4.1.2 ½Ã³ª¸®¿À ¿ä±¸ »çÇ×
__4.1.3 ÇÁ·¹ÀÓ¿öÅ© ¾øÀÌ ¿ä±¸ »çÇ× ±¸Çö
4.2 Ãß»óÈ¿Í ÇÔ²² ÀÇÁ¸¼º ÁÖÀÔ
__4.2.1 ½ºÇÁ¸µ ÄÁÅؽºÆ®¿¡ Æ÷Ç﵃ °´Ã¼ Á¤Çϱâ
__4.2.2 Ãß»óÈ¿¡ ´ëÇÑ ¿©·¯ ±¸Çöü Áß¿¡¼ ¿ÀÅä¿ÍÀ̾ÇÒ °ÍÀ» ¼±ÅÃ
4.3 ½ºÅ×·¹¿ÀŸÀÔ ¾Ö³ÊÅ×À̼ÇÀ¸·Î °´Ã¼ÀÇ Ã¥ÀÓ¿¡ ÁýÁß
4.4 ¿ä¾à
5Àå ½ºÇÁ¸µ ÄÁÅؽºÆ®: ºóÀÇ ½ºÄÚÇÁ ¹× ¼ö¸í ÁÖ±â
5.1 ½Ì±ÛÅæ ºó ½ºÄÚÇÁ »ç¿ë
__5.1.1 ½Ì±ÛÅæ ºóÀÇ ÀÛµ¿ ¹æ½Ä
__5.1.2 ½ÇÁ¦ ½Ã³ª¸®¿ÀÀÇ ½Ì±ÛÅæ ºó
__5.1.3 Áï½Ã ¹× Áö¿¬ ÀνºÅϽº »ý¼º ¹æ½Ä
5.2 ÇÁ·ÎÅäŸÀÔ ºó ½ºÄÚÇÁ »ç¿ë
__5.2.1 ÇÁ·ÎÅäŸÀÔ ºóÀÇ µ¿ÀÛ ¹æ½Ä
__5.2.2 ½ÇÁ¦ ½Ã³ª¸®¿À¿¡¼ ÇÁ·ÎÅäŸÀÔ ºó °ü¸®
5.3 ¿ä¾à
6Àå ½ºÇÁ¸µ AOP·Î ¾Ö½ºÆåÆ® »ç¿ë
6.1 ½ºÇÁ¸µ¿¡¼ ¾Ö½ºÆåÆ® ÀÛµ¿ ¹æ½Ä
6.2 ½ºÇÁ¸µ AOP¸¦ »ç¿ëÇÑ ¾Ö½ºÆåÆ® ±¸Çö
__6.2.1 °£´ÜÇÑ ¾Ö½ºÆåÆ® ±¸Çö
__6.2.2 °¡·Îæ ¸Þ¼µåÀÇ ¸Å°³º¯¼ö ¹× ¹Ýȯ °ª º¯°æ
__6.2.3 ¾Ö³ÊÅ×ÀÌ¼ÇµÈ ¸Þ¼µå °¡·Îä±â
__6.2.4 »ç¿ë °¡´ÉÇÑ ´Ù¸¥ ¾îµå¹ÙÀ̽º ¾Ö³ÊÅ×À̼Ç
6.3 ¾Ö½ºÆåÆ® ½ÇÇà üÀÎ
6.4 ¿ä¾à
2ºÎ ±¸Çö
7Àå ½ºÇÁ¸µ ºÎÆ®¿Í ½ºÇÁ¸µ MVC ÀÌÇØ
7.1 À¥ ¾ÛÀ̶õ
__7.1.1 À¥ ¾Û¿¡ ´ëÇÑ ÀϹÝÀûÀÎ °³¿ä
__7.1.2 ½ºÇÁ¸µÀ¸·Î À¥ ¾ÛÀ» ±¸ÇöÇÏ´Â ´Ù¾çÇÑ ¹æ½Ä
__7.1.3 À¥ ¾Û °³¹ß¿¡¼ ¼ºí¸´ ÄÁÅ×ÀÌ³Ê »ç¿ë
7.2 ½ºÇÁ¸µ ºÎÆ®ÀÇ ¸¶¹ý
__7.2.1 ÇÁ·ÎÁ§Æ® ÃʱâÈ ¼ºñ½º¸¦ ÀÌ¿ëÇÑ ½ºÇÁ¸µ ºÎÆ® ÇÁ·ÎÁ§Æ® »ý¼º
__7.2.2 ÀÇÁ¸¼º ½ºÅ¸Å͸¦ »ç¿ëÇÑ ÀÇÁ¸¼º °ü¸® °£¼ÒÈ
__7.2.3 ÀÇÁ¸¼º¿¡ ±â¹ÝÀ» µÐ °ü·Ê¿¡ µû¶ó autoconfiguration »ç¿ë
7.3 ½ºÇÁ¸µ MVC·Î À¥ ¾Û ±¸Çö
7.4 ¿ä¾à
8Àå ½ºÇÁ¸µ ºÎÆ®¿Í ½ºÇÁ¸µ MVC¸¦ ÀÌ¿ëÇÑ À¥ ¾Û ±¸Çö
8.1 µ¿Àû ºä¸¦ »ç¿ëÇÑ À¥ ¾Û ±¸Çö
__8.1.1 HTTP ¿äû¿¡¼ µ¥ÀÌÅÍ ¾ò±â
__8.1.2 Ŭ¶óÀ̾ðÆ®¿¡¼ ¼¹ö·Î µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ·Á°í ¿äû ¸Å°³º¯¼ö »ç¿ë
__8.1.3 °æ·Î º¯¼ö·Î Ŭ¶óÀ̾ðÆ®¿¡¼ ¼¹ö·Î µ¥ÀÌÅÍ Àü¼Û
8.2 HTTP GET°ú POST ¸Þ¼µå »ç¿ë
8.3 ¿ä¾à
9Àå ½ºÇÁ¸µ À¥ ½ºÄÚÇÁ
9.1 ½ºÇÁ¸µ À¥ ¾Û¿¡¼ ¿äû ½ºÄÚÇÁ »ç¿ë
9.2 ½ºÇÁ¸µ À¥ ¾Û¿¡¼ ¼¼¼Ç ½ºÄÚÇÁ »ç¿ë
9.3 ½ºÇÁ¸µ À¥ ¾Û¿¡¼ ¾ÖÇø®ÄÉÀÌ¼Ç ½ºÄÚÇÁ »ç¿ë
9.4 ¿ä¾à
10Àå REST ¼ºñ½º ±¸Çö
10.1 REST ¼ºñ½º¸¦ ÀÌ¿ëÇÑ ¾Û °£ µ¥ÀÌÅÍ ±³È¯
10.2 REST ¿£µåÆ÷ÀÎÆ® ±¸Çö
10.3 HTTP ÀÀ´ä °ü¸®
__10.3.1 °´Ã¼¸¦ ÀÀ´ä º»¹®¿¡ Àü¼Û
__10.3.2 ÀÀ´ä »óÅ ¹× Çì´õ ¼³Á¤
__10.3.3 ¿£µåÆ÷ÀÎÆ® ¼öÁØ¿¡¼ ¿¹¿Ü °ü¸®
10.4 ¿äû º»¹®À» »ç¿ëÇÏ¿© Ŭ¶óÀ̾ðÆ®ÀÇ µ¥ÀÌÅÍ °¡Á®¿À±â
10.5 ¿ä¾à
11Àå REST ¿£µåÆ÷ÀÎÆ® »ç¿ë
11.1 ½ºÇÁ¸µ Ŭ¶ó¿ìµå OpenFeignÀ¸·Î REST ¿£µåÆ÷ÀÎÆ® È£Ãâ
11.2 RestTemplateÀ¸·Î REST ¿£µåÆ÷ÀÎÆ® È£Ãâ
11.3 WebClient·Î REST ¿£µåÆ÷ÀÎÆ® È£Ãâ
11.4 ¿ä¾à
12Àå ½ºÇÁ¸µ ¾Û¿¡¼ µ¥ÀÌÅÍ ¼Ò½º »ç¿ë
12.1 µ¥ÀÌÅÍ ¼Ò½º
12.2 JdbcTemplateÀ¸·Î ¿µ¼Ó¼º µ¥ÀÌÅÍ ÀÛ¾÷
12.3 µ¥ÀÌÅÍ ¼Ò½º ±¸¼ºÀ» »ç¿ëÀÚ Á¤ÀÇ
__12.3.1 ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·ÎÆÛƼ ÆÄÀÏ¿¡¼ µ¥ÀÌÅÍ ¼Ò½º Á¤ÀÇ
__12.3.2 »ç¿ëÀÚ Á¤ÀÇ DataSource ºó »ç¿ë
12.4 ¿ä¾à
13Àå ½ºÇÁ¸µ ¾Û¿¡¼ Æ®·£Àè¼Ç »ç¿ë
13.1 Æ®·£Àè¼Ç
13.2 ½ºÇÁ¸µ¿¡¼ Æ®·£Àè¼ÇÀÇ ÀÛµ¿ ¹æ½Ä
13.3 ½ºÇÁ¸µ ¾Û¿¡¼ Æ®·£Àè¼Ç »ç¿ë
13.4 ¿ä¾à
14Àå ½ºÇÁ¸µ µ¥ÀÌÅÍ·Î µ¥ÀÌÅÍ ¿µ¼Ó¼º ±¸Çö
14.1 ½ºÇÁ¸µ µ¥ÀÌÅͶõ
14.2 ½ºÇÁ¸µ µ¥ÀÌÅÍÀÇ ÀÛµ¿ ¹æ½Ä
14.3 ½ºÇÁ¸µ µ¥ÀÌÅÍ JDBC »ç¿ë
14.4 ¿ä¾à
15Àå ½ºÇÁ¸µ ¾Û Å×½ºÆ®
15.1 ¿Ã¹Ù¸¥ Å×½ºÆ® ÀÛ¼º
15.2 ½ºÇÁ¸µ ¾Û¿¡¼ Å×½ºÆ® ±¸Çö
__15.2.1 ´ÜÀ§ Å×½ºÆ® ±¸Çö
__15.2.2 ÅëÇÕ Å×½ºÆ® ±¸Çö
15.3 ¿ä¾à
ºÎ·Ï A
A.1 ¾ÆÅ°ÅØó ¹æ½Ä
A.2 ÄÁÅؽºÆ® ±¸¼º¿¡ XML »ç¿ë
A.3 HTTP ±âÃÊ ÀÌÇØ
A.4 JSON Çü½Ä »ç¿ë
A.5 MySQL ¼³Ä¡¿Í µ¥ÀÌÅͺ£À̽º »ý¼º
A.6 ±ÇÀå µµ±¸
A.7 ½ÉÈ ÇнÀ¿ë Ãßõ ÀÚ·á
A.8 IntelliJ¿¡¼ ¿¹Á¦ ÇÁ·ÎÁ§Æ® ¿ÀÇ ¹× ½ÇÇà