ÄÜÅÙÃ÷ »ó¼¼º¸±â
±×¸²À¸·Î ¹è¿ì´Â ½ºÇÁ¸µ 6 ÀÔ¹®


±×¸²À¸·Î ¹è¿ì´Â ½ºÇÁ¸µ 6 ÀÔ¹®

±×¸²À¸·Î ¹è¿ì´Â ½ºÇÁ¸µ 6 ÀÔ¹®

<ÅäÅ° ÄÚÇìÀÌ> Àú/<±è¼ºÈÆ> ¿ª | ÇѺû¹Ìµð¾î

Ãâ°£ÀÏ
2024-04-01
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
6 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

ÇöÀå¿¡ ÇÊ¿äÇÑ ½ºÇÁ¸µ ±âº»±â ±¸Ãà°ú ÀÚ¹Ù ½Ç·Â ·¹º§¾÷À» µ¿½Ã¿¡!
ÃֽŠ¹öÀü ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© ±â¹Ý ½Ç½À Á¦°ø
½ºÇÁ¸µ ºÎÆ® 3 Æ÷ÇÔ


½ºÇÁ¸µÀº ÀÚ¹Ù¸¦ ¹è¿ï ¶§ º¸Áö ¸øÇß´ø »õ·Î¿î °³³ä, ÀÌÇØÇϱ⠾î·Á¿î ¿ë¾î°¡ ¸¹¾Æ ÀÔ¹®ÀÚ°¡ ¹è¿ì±â ¾î·Æ´Ù. ÇÏÁö¸¸ ÀÌ Ã¥Àº ¡º½ºÇÁ¸µ3 ÀÔ¹®¡»°ú ¡º½ºÇÁ¸µ4 ÀÔ¹®¡»À» ÁýÇÊÇÑ ½ºÇÁ¸µ Àü¹®°¡ÀÎ ÀúÀÚ°¡ ¿À·£ ½ºÇÁ¸µ ±³À° °æÇèÀ» Åä´ë·Î ±¸»óÇÑ ±×¸²°ú ¼³¸íÀ¸·Î ±¸¼ºµÇ¾î Àֱ⠶§¹®¿¡ ´©±¸³ª ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù. Å©°Ô [±âº»Æí]°ú [½Ç¹«Æí]À¸·Î ±¸ºÐµÇ´Âµ¥, [±âº»Æí]¿¡¼­´Â ½ºÇÁ¸µ 6ÀÇ Àü¹ÝÀûÀÎ ±â´É°ú ¿ø¸®, ½Ç¹«Æí¿¡¼­´Â ½ÇÁ¦ °³¹ß ÇöÀå¿¡¼­ À¯¿ëÇÑ °¢Á¾ ½ºÅ³À» ¹è¿ï ¼ö ÀÖ´Ù. µû¶ó¼­ ÀÌÁ¦ ¸· ÀÚ¹Ù¸¦ ¾Ë°Ô µÈ ½ºÇÁ¸µ ÀÔ¹®ÀÚ¿¡°Ôµµ À¯¿ëÇÏÁö¸¸, ±×µ¿¾È ½ºÇÁ¸µÀ» Á¦´ë·Î ÀÌÇØÇÏÁö ¸øÇÑ Ã¤·Î »ç¿ëÇß´ø ÀÚ¹Ù °³¹ßÀÚ¿¡°Ôµµ ÄÚµå ÇÑ ÁÙ ÇÑ ÁÙÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö È®½ÇÈ÷ ¹è¿ï ¼ö ÀÖ´Â ±âȸ°¡ µÉ °ÍÀÌ´Ù. ÀÚ¹Ù 17, ½ºÇÁ¸µ 6¸¦ ºñ·ÔÇÑ ÃֽŠ¹öÀüÀÇ ¼ÒÇÁÆ®¿þ¾î·Î '¼ö°­ ½Åû ¾ÖÇø®ÄÉÀ̼Ç'°ú '»óÇ° ÁÖ¹® ¾ÖÇø®ÄÉÀ̼Ç'À» Á÷Á¢ ¸¸µé¾îº¸¸ç ±âº»±â¿Í ½Ç¹« ½ºÅ³À» ´ÙÁ®º¸ÀÚ!

ÀúÀÚ¼Ò°³

´ëÇп¡¼­ Á¤º¸ °øÇÐÀ» Àü°øÇßÁö¸¸ Á¹¾÷ ÈÄ¿¡´Â ijÁÖ¾ó ¼ó¿¡¼­ ÆǸſøÀ¸·Î ÀÏÇÏ´Ù°¡ IT ¾÷°è¿¡ ÇÕ·ùÇß´Ù. 2002³â¿¡ ½ºÇÁ¸µÀÇ Ã¢½ÃÀÚÀÎ ·Îµå Á¸½¼(Rod Johnson)ÀÇ Ã¥ ¡ºJ2EE Design and Development¡»À» Á¢ÇÏ°í ½ºÇÁ¸µÀÇ ÆÒÀÌ µÇ¾ú´Ù. ´Ù¾çÇÑ °³¹ß ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÏ¸ç ºñÈ¿À²ÀûÀÎ °³¹ß ȯ°æÀ» °Þ°í ±³À°ÀÇ Á߿伺À» Åë°¨Çß´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î 2008³âºÎÅÍ´Â ±³À° ºÐ¾ß¿¡¼­ È°µ¿À» ½ÃÀÛÇß´Ù. 2012³â¿¡´Â ÁÖ½Äȸ»ç ÇöÀåÁöÇâ(https://www.genba-oriented.com)À» ¼³¸³ÇØ ½ºÇÁ¸µÀ» Áß½ÉÀ¸·Î ÇÑ ±³À° ÇÁ·Î±×·¥ °­»ç·Î È°µ¿ ÁßÀÌ´Ù. Àú¼­·Î´Â ¡ºOpenID ConnectìýÚ¦(OpenID Connect ÀÔ¹®)¡»(Kindle Direct Publishing, 2021), ¡º[ËÇïôãæ÷ú] SpringìýÚ¦(½ºÇÁ¸µ ÀÔ¹® °³Á¤ÆÇ)¡»(±â¼úÆò·Ð»ç, 2016), ¡ºÊàêÞª¤ªÀªéª±ªÎ«½«Õ«È«¦«§«¢¤ý«¢¡ª«­«Æ«¯«Á«ã(¿À·ù Åõ¼ºÀÌ ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØó)¡»(±â¼úÆò·Ð»ç, 2010) µîÀÌ ÀÖ´Ù.

¸ñÂ÷

[1ºÎ ±âº»Æí]

1Àå ½ºÇÁ¸µ °³¿ä
1.1 ½ºÇÁ¸µÀ̶õ?
1.2 ½ºÇÁ¸µÀÇ ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®
1.3 ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© °³¿ä
1.4 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ °³¿ä
1.5 ½ºÇÁ¸µ ºÎÆ® °³¿ä
1.6 ½ºÇÁ¸µÀÇ Åº»ý°ú °³¹ß Á¶Á÷
1.7 ½ºÇÁ¸µÀÌ Àαâ ÀÖ´Â ÀÌÀ¯

2Àå À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¿ä
2.1 À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ̶õ?
2.2 MPA
2.3 SPA
2.4 ÇÁ·Î±×·¥ÀÇ ¿ªÇÒ
2.5 ó¸® È帧

3Àå DIÀÇ °³³ä
3.1 DI¶õ?
3.2 DI·Î ¹«¾ùÀ» ÇÒ±î?
3.3 DI ¼³¸íÀ» À§ÇÑ Å¬·¡½º¿Í ÀÎÅÍÆäÀ̽º ¼Ò°³
3.4 °´Ã¼¸¦ ÁغñÇÏ´Â °£ÆíÇÑ ¹æ¹ý
3.5 DI »ç¿ë¹ý
3.6 ´Ù½Ã, DI¶õ?
3.7 DI¿Í ÀÎÅÍÆäÀ̽º
½Ç½À

4Àå DI ÄÁÅ×À̳Ê
4.1 ¿ÜºÎ¿¡¼­ Á÷Á¢ °´Ã¼¸¦ ÁغñÇÒ ¶§ÀÇ ¹®Á¦Á¡
4.2 DI ÄÁÅ×À̳ʸ¦ »ç¿ëÇÑ ¼Ö·ç¼Ç
4.3 DI ÄÁÅ×ÀÌ³Ê °ü·Ã ±âº» ¿ë¾î
4.4 JavaConfig¿¡ ¼³Á¤ Á¤º¸ ÀÛ¼ºÇϱâ
4.5 Bean Á¤ÀÇ ÀÛ¼ºÇϱâ

5Àå ½ºÅ×·¹¿ÀŸÀÔ ¾Ö³ÊÅ×À̼Ç
5.1 ½ºÅ×·¹¿ÀŸÀÔ ¾Ö³ÊÅ×À̼ÇÀ̶õ?
5.2 ½ºÅ×·¹¿ÀŸÀÔ ¾Ö³ÊÅ×À̼ÇÀÇ Á¾·ù
5.3 ÀÎÁ§¼Ç Áö½Ã
5.4 ÄÄÆ÷³ÍÆ® ½ºÄµ
5.5 DI ÄÁÅ×À̳ʸ¦ »ý¼ºÇÏ°í Bean °¡Á®¿À±â
5.6 3°¡Áö ÀÎÁ§¼Ç ¹æ¹ý
_5.6.1 »ý¼ºÀÚ ÀÎÁ§¼Ç
_5.6.2 Setter ÀÎÁ§¼Ç
_5.6.3 Çʵå ÀÎÁ§¼Ç
5.7 °°Àº ŸÀÔÀÇ BeanÀÌ ¿©·¯ °³ Á¸ÀçÇÒ ¶§ ÀÎÁ§¼Ç ¹æ¹ý
½Ç½À

6Àå ÇÁ·ÎÆÄÀÏ·Î ¼³Á¤ ÀüȯÇϱâ
6.1 ÇÁ·ÎÆÄÀÏÀ̶õ?
6.2 ȯ°æº° ÇÁ·ÎÆÄÀÏ
6.3 ÇÁ·ÎÆÄÀÏ »ç¿ë¹ý
6.4 È°¼ºÈ­ÇÒ ÇÁ·ÎÆÄÀÏ ÁöÁ¤Çϱâ
½Ç½À

7Àå JavaConfig¿Í @Bean ¸Þ¼­µå
7.1 JavaConfig¶õ?
7.2 ¿©·¯ °³ÀÇ JavaConfig Ŭ·¡½º ºÒ·¯¿À±â
_7.2.1 AnnotationConfigApplicationContext Ŭ·¡½ºÀÇ »ý¼ºÀÚ Àμö·Î ÁöÁ¤Çϱâ
_7.2.2 @Import·Î °¡Á®¿À±â
_7.2.3 ÄÄÆ÷³ÍÆ® ½ºÄµÇϱâ
7.3 @Bean ¸Þ¼­µå¶õ?
7.4 ÀÎÁ§¼Ç
7.5 ÀûÀýÇÑ Bean Á¤ÀÇ ¹æ¹ý ¼±ÅÃÇϱâ
7.6 ¡´bean¡µ ű×ÀÇ Bean Á¤ÀÇ°¡ Á¸ÀçÇÏ´Â ÀÌÀ¯
7.7 ¶óÀ̺귯¸®ÀÇ Å¬·¡½º¸¦ BeanÀ¸·Î Á¤ÀÇÇϱâ
7.8 JavaConfig¿Í ÇÁ·ÎÆÄÀÏ
½Ç½À

8Àå ½ºÇÁ¸µ JDBC: µ¥ÀÌÅͺ£À̽º Á¢±Ù
8.1 ½ºÇÁ¸µ°ú µ¥ÀÌÅͺ£À̽º Á¢±Ù
_8.1.1 ´Ù¸¥ ¶óÀ̺귯¸®¿ÍÀÇ ¿¬µ¿
_8.1.2 ½ºÇÁ¸µ µ¥ÀÌÅÍ
_8.1.3 ½ºÇÁ¸µ JDBC
8.2 ÀÚ¹Ù¿Í µ¥ÀÌÅͺ£À̽º Á¢±Ù
8.3 ½ºÇÁ¸µ JDBC¶õ?
8.4 JDBC¿Í ½ºÇÁ¸µ JDBCÀÇ ºñ±³
8.5 ½ºÇÁ¸µ JDBCÀÇ È°¿ë »ç·Ê
8.6 JdbcTemplate Ŭ·¡½º
8.7 °Ë»ö °è¿­ ó¸®
_8.7.1 ÇϳªÀÇ Ä÷³¸¸ °¡Á®¿À±â
_8.7.2 ·¹Äڵ带 Map °´Ã¼·Î º¯È¯Çؼ­ °¡Á®¿À±â
_8.7.3 ·¹Äڵ带 Entity °´Ã¼·Î º¯È¯Çؼ­ °¡Á®¿À±â
8.8 °»½Å °è¿­ ó¸®
_8.8.1 INSERT ¹®
_8.8.2 UPDATE ¹®
_8.8.3 DELETE ¹®
8.9 JdbcTemplate Ŭ·¡½ºÀÇ Bean Á¤ÀÇ
½Ç½À

9Àå ¼±¾ðÀû Æ®·£Àè¼Ç
9.1 Æ®·£Àè¼ÇÀ̶õ?
9.2 À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ Æ®·£Àè¼Ç
9.3 Æ®·£Àè¼Ç°ú Ä¿³Ø¼Ç
9.4 Æ®·£Àè¼ÇÀ» ÀÚüÀûÀ¸·Î Á¦¾îÇÒ ¶§ÀÇ ¹®Á¦Á¡
9.5 ½ºÇÁ¸µÀÇ ¼±¾ðÀû Æ®·£Àè¼Ç
9.6 Æ®·£Àè¼ÇÀÇ ³»ºÎ ±¸Á¶
9.7 PlatformTransactionManagerÀÇ ±¸»ó Ŭ·¡½º
9.8 PlatformTransactionManagerÀÇ Bean Á¤ÀÇ
9.9 @TransactionalÀ» È°¼ºÈ­ÇÏ´Â ¼³Á¤
9.10 ·Î±× Ãâ·Â ¹æ¹ý
½Ç½À

10Àå ½ºÇÁ¸µ ºÎÆ®·Î »ý»ê¼º Çâ»óÇϱâ
10.1 ¶óÀ̺귯¸® ÁغñÇϱâ
10.2 ÀÚµ¿ ¼³Á¤
_10.2.1 ÀÚµ¿ ¼³Á¤ÀÇ ¸ÞÄ¿´ÏÁò
_10.2.2 ÀÚµ¿ ¼³Á¤ÀÇ ÇÁ·ÎÆÛƼ
10.3 ³»Àå AP ¼­¹ö
10.4 ½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇÒ ¶§ DI ÄÁÅ×À̳ʸ¦ »ý¼ºÇÏ´Â ¹æ¹ý
10.5 ½ºÇÁ¸µ ºÎÆ®¿¡¼­ ¿ÀÇØÇϱ⠽¬¿î °Íµé
½Ç½À

11Àå ½ºÇÁ¸µ MVC + Thymeleaf
11.1 MVC¶õ?
11.2 ½ºÇÁ¸µ MVC¶õ?
11.3 Thymeleaf¶õ?
11.4 °£´ÜÇÑ ¿¹Á¦
_11.4.1 pom.xml ¼³Á¤Çϱâ
_11.4.2 Controller Ŭ·¡½º »ý¼ºÇϱâ
_11.4.3 View ÀÛ¼ºÇϱâ
_11.4.4 ½ºÇÁ¸µ ºÎÆ®·Î ½ÇÇàÇϱâ
_11.4.5 ºê¶ó¿ìÀú¿¡¼­ È®ÀÎÇϱâ
11.5 Àüü ó¸® È帧
11.6 Service °´Ã¼ ÀÎÁ§¼Ç
11.7 Çڵ鷯 ¸Þ¼­µå¿Í @XxxMapping
11.8 ¿äû ÆĶó¹ÌÅÍ °¡Á®¿À±â
11.9 View¿¡ µ¥ÀÌÅÍ Àü´ÞÇϱâ
11.10 Thymeleaf·Î µ¥ÀÌÅÍ ÂüÁ¶Çϱâ
11.11 List °´Ã¼ ÂüÁ¶Çϱâ
11.12 ÀÔ·Â È­¸é°ú ÀÔ·Â °Ë»ç
11.13 Bean ValidationÀ» ÀÌ¿ëÇÑ ÀÔ·Â °Ë»ç
11.14 ÀÔ·Â È­¸é Ç¥½Ã ¹æ¹ý
11.15 ÀÔ·Â È­¸é ÅÛÇø´ ÆÄÀÏ
11.16 ÀÔ·Â °Ë»ç ¹æ¹ý
11.17 ¿À·ù ¹®±¸ ¼³Á¤
11.18 ¿äû ÆĶó¹ÌÅ͸¦ »ç¿ëÇÑ Çڵ鷯 ¸Þ¼­µå È£Ãâ
11.19 ¿¹¿Ü Çڵ鸵
½Ç½À

12Àå RESTful À¥ ¼­ºñ½º ¸¸µé±â
12.1 À¥ ¼­ºñ½º¶õ?
12.2 ÃÖ±ÙÀÇ °³¹ß ÇÁ·ÎÁ§Æ®¿Í À¥ ¼­ºñ½º
_12.2.1 SPA¿Í À¥ ¼­ºñ½º
_12.2.2 ¸¶ÀÌÅ©·Î¼­ºñ½º¿Í À¥ ¼­ºñ½º
12.3 REST¶õ?
12.4 RESTÀÇ ±ÔÄ¢
_12.4.1 URL·Î ¸®¼Ò½º ½Äº°Çϱâ
_12.4.2 HTTP ¸Þ¼­µå·Î ¸®¼Ò½º Á¶ÀÛÇϱâ
_12.4.3 ÀÀ´ä ¹ÙµðÀÇ µ¥ÀÌÅÍ Çü½Ä
_12.4.4 ¿äû ¹ÙµðÀÇ µ¥ÀÌÅÍ Çü½Ä
_12.4.5 »óÅ ÄÚµå È°¿ëÇϱâ
_12.4.6 Çì´õ È°¿ëÇϱâ
_12.4.7 ¼­¹ö ÃøÀ» ¹«»óÅ·Π¸¸µé±â
12.5 ½ºÇÁ¸µ MVCÀÇ REST Áö¿ø
12.6 HTTP ¸Þ¼­µå¿Í @XxxMapping
12.7 HttpMessageConverter·Î ¿äû/ÀÀ´ä µ¥ÀÌÅÍ º¯È¯Çϱâ
12.8 »óÅ ÄÚµå ÁöÁ¤Çϱâ
12.9 ¿äû Çì´õ ÂüÁ¶Çϱâ
12.10 ÀÀ´ä Çì´õ ÁöÁ¤Çϱâ
12.11 ÂüÁ¶ °è¿­ REST API ¸¸µé±â
½Ç½À

13Àå °»½Å °è¿­ REST API ¸¸µé±â
13.1 °»½Å °è¿­ HTTP ¸Þ¼­µå
13.2 PUTÀÇ ¿äû°ú ÀÀ´ä
13.3 ¿äû ¹Ùµð º¯È¯
13.4 PUT¿¡ ´ëÀÀÇÏ´Â Çڵ鷯 ¸Þ¼­µå
13.5 POSTÀÇ ¿äû°ú ÀÀ´ä
13.6 POST¿¡ ´ëÀÀÇÏ´Â Çڵ鷯 ¸Þ¼­µå
13.7 DELETEÀÇ ¿äû°ú ÀÀ´ä
13.8 DELETE¿¡ ´ëÀÀÇÏ´Â Çڵ鷯 ¸Þ¼­µå
13.9 ¿¹¿Ü ¹ß»ý ½Ã »óÅ ÄÚµå ÁöÁ¤Çϱâ
½Ç½À

14Àå ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼
14.1 ÀÎÁõ°ú Àΰ¡
_14.1.1 ÀÎÁõÀ̶õ?
_14.1.2 Àΰ¡¶õ?
14.2 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ÀÎÁõÀÇ °³¿ä
14.3 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ Àΰ¡ÀÇ °³¿ä
14.4 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ÀÇ ÇÊÅÍ
14.5 ½ÃÅ¥¸®Æ¼ ÇÊÅÍ Ã¼ÀÎ ¼³Á¤Çϱâ
14.6 ¿äû Àΰ¡
14.7 ·Î±×ÀÎ È­¸é
14.8 Àΰ¡ ½ÇÆÐ ½Ã ¿À·ù È­¸é
14.9 ÀÎÁõ¿ë µ¥ÀÌÅÍ °¡Á®¿À±â
14.10 È­¸é Ç¥½Ã Àΰ¡
14.11 ÀÎÁõÇÑ »ç¿ëÀÚ Á¤º¸¸¦ È­¸é¿¡ Ç¥½ÃÇϱâ
14.12 ¸Þ¼­µå Àΰ¡
14.13 CSRF ´ëÀÀ
14.14 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼¸¦ ÅëÇÑ CSRF ´ëÀÀ
½Ç½À

[2ºÎ ½Ç¹«Æí]

15Àå ½Ì±ÛÅæ°ú ½º·¹µå ¼¼ÀÌÇÁ
15.1 ½Ì±ÛÅæ°ú Bean
15.2 ½Ì±ÛÅæ°ú ½º·¹µå ¼¼ÀÌÇÁ
15.3 ½º·¹µå ¼¼ÀÌÇÁÇÏÁö ¾ÊÀº ÄÚµå
15.4 ½º·¹µå ¼¼ÀÌÇÁÇÑ ÄÚµå
15.5 BeanÀ¸·Î °ü¸®ÇÏÁö ¾Ê´Â °´Ã¼
½Ç½À

16Àå ½ºÇÁ¸µ JDBC: JOIN °á°ú °¡Á®¿À±â
16.1 Å×À̺í JOIN ¿¹Á¦
16.2 Ä÷³¸í Áߺ¹ ¹®Á¦
16.3 JOINÇÑ ·¹ÄÚµå ¸ÅÇÎÇϱâ
16.4 DataClassRowMapperÀÇ ´ÜÁ¡
16.5 RowMapper ÀÎÅÍÆäÀ̽º·Î ÇØ°áÇϱâ
16.6 ÀÏ´ë´Ù º¯È¯
16.7 ResultSetExtractor ÀÎÅÍÆäÀ̽º
16.8 ½ÇÁ¦ °³¹ß ÇÁ·ÎÁ§Æ®¿¡ Àû¿ëÇϱâ
½Ç½À

17Àå µ¥ÀÌÅͺ£À̽º Á¢±Ù ½Ã ¿¹¿Ü ó¸®
17.1 µ¥ÀÌÅͺ£À̽º Á¢±Ù ¹æ½Ä°ú ¿¹¿Ü ¹®Á¦
17.2 ¹ü¿ë ¿¹¿Ü Ŭ·¡½º·Î ÇØ°áÇϱâ
17.3 DataAccessException Ŭ·¡½ºÀÇ ´ëÇ¥ÀûÀÎ ¼­ºê Ŭ·¡½º
17.4 DataAccessException Ŭ·¡½ºÀÇ Ã³¸® È帧
½Ç½À

18Àå Æ®·£Àè¼Ç ÀüÆÄ
18.1 Æ®·£Àè¼Ç ÀüÆĶõ?
18.2 Æ®·£Àè¼Ç ÀüÆÄ ¼³Á¤Çϱâ
18.3 REQUIREDÀÇ µ¿ÀÛ
18.4 REQUIRED_NEWÀÇ µ¿ÀÛ
18.5 REQUIRED_NEW°¡ ÇÊ¿äÇÑ »óȲ
18.6 ÁÖÀÇ »çÇ×
½Ç½À

19Àå ¼¼¼Ç ½ºÄÚÇÁ
19.1 ¼¼¼Ç ½ºÄÚÇÁ¶õ?
19.2 ¼¼¼Ç ½ºÄÚÇÁÀÇ È°¿ë »ç·Ê
19.3 ½ºÇÁ¸µ MVC¿Í ¼¼¼Ç ½ºÄÚÇÁ
19.4 ¼¼¼Ç ½ºÄÚÇÁÀÇ Bean
19.5 ¼¼¼Ç ½ºÄÚÇÁÀÇ Proxy
19.6 ¼¼¼Ç ½ºÄÚÇÁÀÇ Bean Á¤ÀÇ
19.7 ¼¼¼Ç ½ºÄÚÇÁÀÇ Bean ÀÎÁ§¼Ç
19.8 ¼¼¼Ç ½ºÄÚÇÁÀÇ Bean Á¶ÀÛ
_19.8.1 »ç¿ëÀÚ ÀÔ·Â ½Ã ReservationInput °´Ã¼¸¦ ÀúÀåÇÑ´Ù
_19.8.2 ½Åû È®Á¤ ½Ã ReservationInput °´Ã¼¸¦ °¡Á®¿Â´Ù
_19.8.3 ½Åû ¿Ï·á ½Ã ReservationInput °´Ã¼¸¦ »èÁ¦ÇÑ´Ù
19.9 ¿©·¯ °³ÀÇ Controller¿¡¼­ ¼¼¼Ç ½ºÄÚÇÁ Bean °øÀ¯Çϱâ
½Ç½À

20Àå Ç÷¡½Ã ½ºÄÚÇÁ
20.1 °»½Å ó¸® ÈÄ È­¸é Ç¥½Ã
20.2 ¸®´ÙÀÌ·ºÆ®·Î ÇØ°áÇϱâ(PRG ÆÐÅÏ)
20.3 ¸®´ÙÀÌ·ºÆ® Ãâ¹ßÁö¿Í ¸ñÀûÁöÀÇ µ¥ÀÌÅÍ °øÀ¯
20.4 Ç÷¡½Ã ½ºÄÚÇÁ·Î ÇØ°áÇϱâ
20.5 PRG ÆÐÅÏ°ú Ç÷¡½Ã ½ºÄÚÇÁ Àû¿ëÇϱâ
½Ç½À

21Àå Security Context È°¿ë
21.1 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ÀÇ ÇÊÅÍ
21.2 ÀÎÁõÇÑ »ç¿ëÀÚÀÇ Á¤º¸¿Í Security Context
21.3 ThreadLocal°ú Security Context
21.4 ControllerÀÇ Çڵ鷯 ¸Þ¼­µå Àμö·Î ¹Þ±â
21.5 HTML¿¡ »ç¿ëÀÚ Á¤º¸ »ðÀÔÇϱâ
21.6 SecurityContextHolder.getContext·Î °¡Á®¿À±â
½Ç½À

22Àå RESTful À¥ ¼­ºñ½º È£Ãâ
22.1 RestTemplate Ŭ·¡½º
22.2 RestTemplate°ú HttpMessageConverter
22.3 RestTemplate Ŭ·¡½ºÀÇ ÁÖ¿ä ¸Þ¼­µå
22.4 GETÀ» À§ÇÑ ¸Þ¼­µå
22.5 POST¸¦ À§ÇÑ ¸Þ¼­µå
22.6 PUTÀ» À§ÇÑ ¸Þ¼­µå
22.7 DELETE¸¦ À§ÇÑ ¸Þ¼­µå
22.8 RestTemplate °´Ã¼ ÁغñÇϱâ
_22.8.1 DI ÄÁÅ×À̳ʸ¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì
_22.8.2 DI ÄÁÅ×À̳ʸ¦ »ç¿ëÇÏ´Â °æ¿ì
22.9 RestTemplate Ŭ·¡½º
22.10 ÀÀ´äÀÇ »ó¼¼ µ¥ÀÌÅ͸¦ ÂüÁ¶ÇÏ´Â °æ¿ì
22.11 ¿äûÀÇ »ó¼¼ µ¥ÀÌÅ͸¦ ¼³Á¤ÇÏ´Â °æ¿ì
22.12 WebClient Ŭ·¡½º
½Ç½À

23Àå ÇÁ·ÎÆÛƼ ¿ÜºÎÈ­
23.1 ¿ÜºÎÈ­ÇÑ ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÏ´Â °÷
23.2 ÇÁ·ÎÆÛƼ ºÒ·¯¿À±â
23.3 application.properties¿Í ÇÁ·ÎÆÄÀÏ
23.4 ÇÁ·ÎÆÛƼ¸¦ °¡Á®¿À´Â ¹æ¹ý
_23.4.1 @Value »ç¿ë¹ý
_23.4.2 @ConfigurationProperties »ç¿ë¹ý
½Ç½À

24Àå ÀÚµ¿ Å×½ºÆ®¿Í ½ºÇÁ¸µÀÇ Å×½ºÆ® Áö¿ø
24.1 ¼öµ¿ Å×½ºÆ®¿Í ÀÚµ¿ Å×½ºÆ®
24.2 ´ëÇ¥ÀûÀÎ ÀÚµ¿ Å×½ºÆ®
24.3 À¥ ¾ÖÇø®ÄÉÀ̼ǰú ÀÚµ¿ Å×½ºÆ® ÆÐÅÏ
24.4 ´ÜÀ§ Å×½ºÆ®¿Í Mock
24.5 ½ºÇÁ¸µÀÇ Å×½ºÆ® Áö¿ø ±â´É
24.6 DI ÄÁÅ×À̳ʸ¦ »ý¼ºÇϱâ À§ÇÑ ¾Ö³ÊÅ×À̼Ç
24.7 Å×½ºÆ® Ŭ·¡½º
24.8 JavaConfig Ŭ·¡½º¸¦ ÀÚµ¿À¸·Î ã°Ô Çϱâ
24.9 Å×½ºÆ®¸¦ ½ÇÇàÇÒ ¶§¸¸ ºÒ·¯¿À´Â application.properties
½Ç½À

25Àå Repository ´ÜÀ§ Å×½ºÆ®
25.1 Repository ´ÜÀ§ Å×½ºÆ®ÀÇ °³¿ä
25.2 DI ÄÁÅ×À̳ʸ¦ »ý¼ºÇϱâ À§ÇÑ ¾Ö³ÊÅ×À̼Ç
25.3 DI ÄÁÅ×ÀÌ³Ê Ä³½Ì
25.4 µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅÍ ÁغñÇϱâ
25.5 @Sql ¾Ö³ÊÅ×À̼Ç
25.6 µ¥ÀÌÅÍ Á¤¸®
25.7 °»½Å °è¿­ ó¸® Å×½ºÆ®
25.8 JdbcTemplateÀ¸·Î µ¥ÀÌÅÍ È®ÀÎÇϱâ
½Ç½À

26Àå Service ´ÜÀ§ Å×½ºÆ®
26.1 Service ´ÜÀ§ Å×½ºÆ®ÀÇ °³¿ä
26.2 Mockito¶õ?
26.3 Mockito¸¦ »ç¿ëÇÑ Service ´ÜÀ§ Å×½ºÆ®
26.4 Mockito¿Í static ÀÓÆ÷Æ®
26.5 Mock °´Ã¼¿¡ µ¿ÀÛ ÁöÁ¤Çϱâ
26.6 Mock °´Ã¼ÀÇ ¸Þ¼­µå Àμö ÁöÁ¤Çϱâ
26.7 ¿©·¯ ¹ø È£ÃâµÇ´Â Mock °´Ã¼ÀÇ ¸Þ¼­µå ÁöÁ¤Çϱâ
26.8 Mock °´Ã¼ÀÇ ¸Þ¼­µå È£ÃâÀ» È®ÀÎÇÏ´Â ¾î¼³¼Ç
26.9 Mock °´Ã¼ÀÇ ¸Þ¼­µå¿¡ Àü´ÞµÈ ÀÎÀÚ È®ÀÎÇϱâ
26.10 MockÀ» »ç¿ëÇÑ Å×½ºÆ®ÀÇ ´ÜÁ¡
½Ç½À

27Àå Service¡¤Repository ÅëÇÕ Å×½ºÆ®
27.1 Service¡¤Repository ÅëÇÕ Å×½ºÆ®ÀÇ °³¿ä
27.2 DI ÄÁÅ×À̳ʸ¦ »ý¼ºÇϱâ À§ÇÑ ¾Ö³ÊÅ×À̼Ç
27.3 µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅÍ ÁغñÇϱâ
27.4 @Sql ¾Ö³ÊÅ×À̼Ç
27.5 µ¥ÀÌÅÍ Á¤¸®
27.6 °»½Å °è¿­ ó¸® Å×½ºÆ®
27.7 JdbcTemplateÀ¸·Î µ¥ÀÌÅÍ È®ÀÎÇϱâ
½Ç½À

28Àå Controller ´ÜÀ§ Å×½ºÆ®
28.1 Controller ´ÜÀ§ Å×½ºÆ®ÀÇ °³¿ä
28.2 MockMvc¶õ?
28.3 MockMvc »ç¿ë¹ý
28.4 DI ÄÁÅ×À̳ʸ¦ »ý¼ºÇϱâ À§ÇÑ ¾Ö³ÊÅ×À̼Ç
28.5 MockMvc¿Í static ÀÓÆ÷Æ®
28.6 ¿äû ÁöÁ¤Çϱâ
28.7 ÀÀ´ä ¾î¼³¼Ç
28.8 ÀÔ·Â °Ë»ç ¿À·ù ¾î¼³¼Ç
28.9 µð¹ö±ëÀ» À§ÇÑ ·Î±× Ãâ·Â
28.10 Mock °´Ã¼¿¡ µ¿ÀÛ ÁöÁ¤Çϱâ
½Ç½À

29Àå Controller¡¤Service¡¤Repository ÅëÇÕ Å×½ºÆ®
29.1 Controller¡¤Service¡¤Repository ÅëÇÕ Å×½ºÆ®ÀÇ °³¿ä
29.2 Å×½ºÆ® Ŭ·¡½º
29.3 Controller¿¡¼­ ¼¼¼Ç ½ºÄÚÇÁ¿Í Ç÷¡½Ã ½ºÄÚÇÁ¸¦ »ç¿ëÇÑ Å×½ºÆ®
½Ç½À

30Àå RESTful À¥ ¼­ºñ½º Å×½ºÆ®
30.1 RESTful À¥ ¼­ºñ½º Å×½ºÆ®¿¡ ÇÊ¿äÇÑ °Íµé
30.2 Controller ´ÜÀ§ Å×½ºÆ®
30.3 JSON ¹®ÀÚ¿­ ½±°Ô »ý¼ºÇϱâ
30.4 JSONPath¸¦ »ç¿ëÇÏ¿© ÀÀ´ä È®ÀÎÇϱâ
30.5 ´«À¸·Î JSON ¹®ÀÚ¿­ È®ÀÎÇϱâ
30.6 RESTful À¥ ¼­ºñ½º ÅëÇÕ Å×½ºÆ®
_30.6.1 MockMvc¸¦ »ç¿ëÇÑ ÅëÇÕ Å×½ºÆ®
_30.6.2 ³»Àå AP ¼­¹ö¸¦ »ç¿ëÇÑ ÅëÇÕ Å×½ºÆ®
½Ç½À

31Àå ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ÀÇ Å×½ºÆ® Áö¿ø
31.1 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ÀÇ Å×½ºÆ® Áö¿ø ±â´É
31.2 MockMvc¿Í ¿¬µ¿ÇÑ ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ÀÇ Å×½ºÆ® Áö¿ø ±â´É
31.3 ÀÎÁõÇÑ »ç¿ëÀÚÀÇ Á¤º¸¸¦ ÀÓÀÇ·Î ÁöÁ¤Çϱâ
31.4 CSRF ÅäÅ« ÁöÁ¤Çϱâ
31.5 ¾Ö³ÊÅ×À̼ÇÀ» »ç¿ëÇÏ´Â ±â´É
31.6 ¸Þ¼­µåÀÇ Àΰ¡ Å×½ºÆ®
31.7 webEnvironment = WebEnvironment.NONEÀ» ÁöÁ¤ÇÏÁö ¾ÊÀº ÀÌÀ¯
31.8 TestRestTemplateÀ» »ç¿ëÇÑ Å×½ºÆ®
½Ç½À

32Àå Selenide¸¦ »ç¿ëÇÑ E2E Å×½ºÆ®
32.1 E2E Å×½ºÆ®
32.2 Selenide¶õ?
32.3 @SpringBootTest¿Í ÇÔ²² »ç¿ëÇϱâ
32.4 @Sql°ú ÇÔ²² »ç¿ëÇϱâ
32.5 µ¥ÀÌÅÍ Á¤¸®
32.6 Selenide¿Í static ÀÓÆ÷Æ®
32.7 ºê¶ó¿ìÀú ½ÇÇà ¹æ¹ý
32.8 È­¸é ¿ä¼Ò ÂüÁ¶ ¹æ¹ý
32.9 È­¸é ¿ä¼ÒÀÇ °Ë»ö Á¶°Ç ÁöÁ¤Çϱâ
32.10 $¿Í $$ÀÇ Â÷ÀÌÁ¡
32.11 È­¸é ¿ä¼Ò Á¶ÀÛÇϱâ
32.12 ¿ä¼ÒÀÇ Á¤º¸ °¡Á®¿À±â
32.13 ¿ä¼ÒÀÇ ³»¿ë ¾î¼³¼Ç
32.14 Selenide¸¦ »ç¿ëÇÑ Å×½ºÆ®
½Ç½À

[3ºÎ ºÎ·Ï]

A.1 Æ®·£Àè¼Ç
A.2 AP ¼­¹ö
A.3 ÀÎÅÍÆäÀ̽º
A.4 Ä¿¸Çµå¶óÀÎ Àμö
A.5 ¾Ö³ÊÅ×À̼Ç
A.6 DataSource
A.7 ³»Àå DB
A.8 °Ë»ç ¿¹¿Ü¿Í ºñ°Ë»ç ¿¹¿Ü
A.9 Map
A.10 ThreadLocal
A.11 ·Î±× ·¹º§°ú ·Î°Å
A.12 Maven
A.13 Ŭ·¡½º Æнº
A.14 ÅÛÇø´ ÆÄÀÏ°ú ÅÛÇø´ ¿£Áø
A.15 HTTP ¿äû°ú HTTP ÀÀ´äÀÇ µ¥ÀÌÅÍ ±¸Á¶
A.16 ¿äû ÆĶó¹ÌÅÍ
A.17 ÄÁÅؽºÆ® Æнº
A.18 YAML
A.19 JSON
A.20 ¼­ºí¸´°ú ¼­ºí¸´ ÇÊÅÍ
A.21 ¸®´ÙÀÌ·ºÆ®¿Í Æ÷¿öµå
A.22 Serializable
A.23 JUnit
A.24 JSONPath
A.25 ¼ö°­ ½Åû ¾ÖÇø®ÄÉÀ̼Ç
A.26 »óÇ° ÁÖ¹® ¾ÖÇø®ÄÉÀ̼Ç