- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ÇÁ·Î±×·¡¹Ö/¾ð¾î > ½ºÇÁ¸µ ÀÎ ¾×¼Ç[Á¦ÀÌÆà]
¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö Áö¿øÀ» °ÈÇÑ ½ºÇÁ¸µ 5ÀÇ ¸ðµç °ÍÀ» Ž±¸ÇÑ´Ù!
¡º½ºÇÁ¸µ ÀÎ ¾×¼Ç¡»¿¡¼´Â ½ºÇÁ¸µ 5¿Í ½ºÇÁ¸µ ºÎÆ® 2¸¦ »ç¿ëÇؼ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â µ¥ ÇÊ¿äÇÑ ¿©·¯ ÇÙ½É ±â´ÉÀ» ¾Ë·ÁÁØ´Ù. ½ºÇÁ¸µ 5¿¡¼´Â ƯÈ÷ »õ·Î¿î ¸®¾×Ƽºê À¥ ÇÁ·¹ÀÓ¿öÅ©ÀÎ WebFlux¸¦ ÁßÁ¡ÀûÀ¸·Î ´Ù·ç°í ÀÖ´Ù. °³¹ßÀÚµéÀº ´õ ½±°í È®À强ÀÌ ÁÁÀº À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¼ö ÀÖ´Ù. À̹ø¿¡ Ãâ°£µÈ Á¦5ÆÇ¿¡¼´Â ½ºÇÁ¸µ ÃֽŠ¹öÀüÀÇ ¸ðµç °ÍÀ» ´Ù·ç°í ÀÖÀ¸¹Ç·Î °³¹ßÀÚµéÀÌ ½ºÇÁ¸µÀÇ »õ·Î¿î Áø¸é¸ñÀ» ÆľÇÇÏ´Â µ¥ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
?
¡º½ºÇÁ¸µ ÀÎ ¾×¼Ç¡»¿¡¼´Â ½ºÇÁ¸µ 5¿Í ½ºÇÁ¸µ ºÎÆ® 2¸¦ »ç¿ëÇؼ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â µ¥ ÇÊ¿äÇÑ ¿©·¯ ÇÙ½É ±â´ÉÀ» ¾Ë·ÁÁØ´Ù. ½ºÇÁ¸µ 5¿¡¼´Â ƯÈ÷ »õ·Î¿î ¸®¾×Ƽºê À¥ ÇÁ·¹ÀÓ¿öÅ©ÀÎ WebFlux¸¦ ÁßÁ¡ÀûÀ¸·Î ´Ù·ç°í ÀÖ´Ù. °³¹ßÀÚµéÀº ´õ ½±°í È®À强ÀÌ ÁÁÀº À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¼ö ÀÖ´Ù. À̹ø¿¡ Ãâ°£µÈ Á¦5ÆÇ¿¡¼´Â ½ºÇÁ¸µ ÃֽŠ¹öÀüÀÇ ¸ðµç °ÍÀ» ´Ù·ç°í ÀÖÀ¸¹Ç·Î °³¹ßÀÚµéÀÌ ½ºÇÁ¸µÀÇ »õ·Î¿î Áø¸é¸ñÀ» ÆľÇÇÏ´Â µ¥ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
?
ÀúÀÚ: Å©·¹ÀÌ±× ¿ùÁî (ÁöÀºÀÌ), ½ÉÀçö (¿Å±äÀÌ)
PART 1 ½ºÇÁ¸µ ±âÃÊ 1
CHAPTER 1 ½ºÇÁ¸µ ½ÃÀÛÇϱâ 3
1.1 ½ºÇÁ¸µÀ̶õ? 4
1.2 ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç Ãʱ⠼³Á¤Çϱâ 7
1.2.1 STS¸¦ »ç¿ëÇؼ ½ºÇÁ¸µ ÇÁ·ÎÁ§Æ® Ãʱ⠼³Á¤Çϱâ 8
1.2.2 ½ºÇÁ¸µ ÇÁ·ÎÁ§Æ® ±¸Á¶ »ìÆ캸±â 12
1.3 ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼ºÇϱâ 18
1.3.1 À¥ ¿äû ó¸®Çϱâ 19
1.3.2 ºä Á¤ÀÇÇϱâ 20
1.3.3 ÄÁÆ®·Ñ·¯ Å×½ºÆ®Çϱâ 22
1.3.4 ¾ÖÇø®ÄÉÀÌ¼Ç ºôµåÇÏ°í ½ÇÇàÇϱâ 24
1.3.5 ½ºÇÁ¸µ ºÎÆ® DevTools ¾Ë¾Æº¸±â 26
1.3.6 ¸®ºäÇϱâ 28
1.4 ½ºÇÁ¸µ »ìÆ캸±â 30
1.4.1 ÇÙ½É ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© 30
1.4.2 ½ºÇÁ¸µ ºÎÆ® 31
1.4.3 ½ºÇÁ¸µ µ¥ÀÌÅÍ 31
1.4.4 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ 32
1.4.5 ½ºÇÁ¸µ ÅëÇÕ°ú ¹èÄ¡ 32
1.4.6 ½ºÇÁ¸µ Ŭ¶ó¿ìµå 32
¿ä¾à 33
CHAPTER 2 À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÇϱâ 34
2.1 Á¤º¸ º¸¿©ÁÖ±â 35
2.1.1 µµ¸ÞÀÎ ¼³Á¤Çϱâ 36
2.1.2 ÄÁÆ®·Ñ·¯ Ŭ·¡½º »ý¼ºÇϱâ 41
2.1.3 ºä µðÀÚÀÎÇϱâ 45
2.2 Æû Á¦Ãâ ó¸®Çϱâ 51
2.3 Æû ÀÔ·Â À¯È¿¼º °Ë»çÇϱâ 57
2.3.1 À¯È¿¼º °Ë»ç ±ÔÄ¢ ¼±¾ðÇϱâ 58
2.3.2 Æû°ú ¹ÙÀεùµÉ ¶§ À¯È¿¼º °Ë»ç ¼öÇàÇϱâ 60
2.3.3 À¯È¿¼º °Ë»ç ¿¡·¯ º¸¿©ÁÖ±â 62
2.4 ºä ÄÁÆ®·Ñ·¯·Î ÀÛ¾÷Çϱâ 65
2.5 ºä ÅÛÇø´ ¶óÀ̺귯¸® ¼±ÅÃÇϱâ 68
2.5.1 ÅÛÇø´ ij½Ì 70
¿ä¾à 71
CHAPTER 3 µ¥ÀÌÅÍ·Î ÀÛ¾÷Çϱâ 72
3.1 JDBC¸¦ »ç¿ëÇؼ µ¥ÀÌÅÍ ÀÐ°í ¾²±â 73
3.1.1 Æ۽ýºÅϽº¸¦ °í·ÁÇÑ µµ¸ÞÀÎ °´Ã¼ ¼öÁ¤Çϱâ 75
3.1.2 JdbcTemplate »ç¿ëÇϱâ 76
3.1.3 ½ºÅ°¸¶ Á¤ÀÇÇÏ°í µ¥ÀÌÅÍ Ãß°¡Çϱâ 84
3.1.4 ŸÄÚ¿Í ÁÖ¹® µ¥ÀÌÅÍ Ãß°¡Çϱâ 87
3.2 ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA¸¦ »ç¿ëÇؼ µ¥ÀÌÅÍ ÀúÀåÇÏ°í »ç¿ëÇϱâ 103
3.2.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA¸¦ ÇÁ·ÎÁ§Æ®¿¡ Ãß°¡Çϱâ 103
3.2.2 µµ¸ÞÀÎ °´Ã¼¿¡ ¾Ö³ëÅ×ÀÌ¼Ç Ãß°¡Çϱâ 104
3.2.3 JPA ¸®ÆÛÁöÅ͸® ¼±¾ðÇϱâ 108
3.2.4 JPA ¸®ÆÛÁöÅ͸® Ä¿½ºÅ͸¶ÀÌ¡Çϱâ 112
¿ä¾à 115
CHAPTER 4 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ 116
4.1 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ È°¼ºÈÇϱâ 117
4.2 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ±¸¼ºÇϱâ 120
4.2.1 Àθ޸𸮠»ç¿ëÀÚ ½ºÅä¾î 123
4.2.2 JDBC ±â¹ÝÀÇ »ç¿ëÀÚ ½ºÅä¾î 125
4.2.3 LDAP ±â¹Ý »ç¿ëÀÚ ½ºÅä¾î 132
4.2.4 »ç¿ëÀÚ ÀÎÁõÀÇ Ä¿½ºÅ͸¶ÀÌ¡ 138
4.3 À¥ ¿äû º¸¾È ó¸®Çϱâ 148
4.3.1 À¥ ¿äû º¸¾È ó¸®Çϱâ 148
4.3.2 Ä¿½ºÅÒ ·Î±×ÀÎ ÆäÀÌÁö »ý¼ºÇϱâ 152
4.3.3 ·Î±×¾Æ¿ôÇϱâ 155
4.3.4 CSRF °ø°Ý ¹æ¾îÇϱâ 155
4.4 »ç¿ëÀÚ ÀÎÁöÇϱâ 158
4.5 °¢ Æû¿¡ ·Î±×¾Æ¿ô ¹öÆ° Ãß°¡ÇÏ°í »ç¿ëÀÚ Á¤º¸ º¸¿©ÁÖ±â 164
¿ä¾à 166
CHAPTER 5 ±¸¼º ¼Ó¼º »ç¿ëÇϱâ 167
5.1 ÀÚµ¿-±¸¼º ¼¼ºÎ Á¶Á¤Çϱâ 168
5.1.1 ½ºÇÁ¸µ ȯ°æ Ãß»óÈ ÀÌÇØÇϱâ 169
5.1.2 µ¥ÀÌÅÍ ¼Ò½º ±¸¼ºÇϱâ 171
5.1.3 ³»Àå ¼¹ö ±¸¼ºÇϱâ 172
5.1.4 ·Î±ë ±¸¼ºÇϱâ 174
5.1.5 ´Ù¸¥ ¼Ó¼ºÀÇ °ª °¡Á®¿À±â 176
5.2 ¿ì¸®ÀÇ ±¸¼º ¼Ó¼º »ý¼ºÇϱâ 176
5.2.1 ±¸¼º ¼Ó¼º Ȧ´õ Á¤ÀÇÇϱâ 180
5.2.2 ±¸¼º ¼Ó¼º ¸ÞŸµ¥ÀÌÅÍ ¼±¾ðÇϱâ 182
5.3 ÇÁ·ÎÆÄÀÏ »ç¿ëÇؼ ±¸¼ºÇϱâ 185
5.3.1 ÇÁ·ÎÆÄÀÏ Æ¯Á¤ ¼Ó¼º Á¤ÀÇÇϱâ 186
5.3.2 ÇÁ·ÎÆÄÀÏ È°¼ºÈÇϱâ 188
5.3.3 ÇÁ·ÎÆÄÀÏÀ» »ç¿ëÇؼ Á¶°Çº°·Î ºó »ý¼ºÇϱâ 189
¿ä¾à 191
PART 2 ÅëÇÕµÈ ½ºÇÁ¸µ 193
CHAPTER 6 REST ¼ºñ½º »ý¼ºÇϱâ 195
6.1 REST ÄÁÆ®·Ñ·¯ ÀÛ¼ºÇϱâ 196
6.1.1 ¼¹ö¿¡¼ µ¥ÀÌÅÍ °¡Á®¿À±â 198
6.1.2 ¼¹ö¿¡ µ¥ÀÌÅÍ Àü¼ÛÇϱâ 204
6.1.3 ¼¹öÀÇ µ¥ÀÌÅÍ º¯°æÇϱâ 205
6.1.4 ¼¹ö¿¡¼ µ¥ÀÌÅÍ »èÁ¦Çϱâ 208
6.2 ÇÏÀÌÆ۹̵ð¾î »ç¿ëÇϱâ 209
6.2.1 ÇÏÀÌÆÛ¸µÅ© Ãß°¡Çϱâ 212
6.2.2 ¸®¼Ò½º ¾î¼Àºí·¯ »ý¼ºÇϱâ 215
6.2.3 embedded °ü°è À̸§ Áþ±â 220
6.3 µ¥ÀÌÅÍ ±â¹Ý ¼ºñ½º È°¼ºÈÇϱâ 221
6.3.1 ¸®¼Ò½º °æ·Î¿Í °ü°è À̸§ Á¶Á¤Çϱâ 224
6.3.2 ÆäÀÌ¡°ú Á¤·Ä 226
6.3.3 Ä¿½ºÅÒ ¿£µåÆ÷ÀÎÆ® Ãß°¡Çϱâ 228
6.3.4 Ä¿½ºÅÒ ÇÏÀÌÆÛ¸µÅ©¸¦ ½ºÇÁ¸µ µ¥ÀÌÅÍ ¿£µåÆ÷ÀÎÆ®¿¡ Ãß°¡Çϱâ 230
6.4 ¾Þ±Ö·¯ IDE ÀÌŬ¸³½º Ç÷¯±×ÀÎ ¼³Ä¡¿Í ÇÁ·ÎÁ§Æ® ºôµå ¹× ½ÇÇàÇϱâ 231
6.4.1 ¾Þ±Ö·¯ IDE ÀÌŬ¸³½º Ç÷¯±×ÀÎ ¼³Ä¡Çϱâ 232
6.4.2 ŸÄÚ Å¬¶ó¿ìµå ¾ÖÇø®ÄÉÀÌ¼Ç ºôµåÇÏ°í ½ÇÇàÇϱâ 237
¿ä¾à 244
CHAPTER 7 REST ¼ºñ½º »ç¿ëÇϱâ 245
7.1 RestTemplateÀ¸·Î REST ¿£µåÆ÷ÀÎÆ® »ç¿ëÇϱâ 246
7.1.1 ¸®¼Ò½º °¡Á®¿À±â(GET) 248
7.1.2 ¸®¼Ò½º ¾²±â(PUT) 250
7.1.3 ¸®¼Ò½º »èÁ¦Çϱâ(DELETE) 250
7.1.4 ¸®¼Ò½º µ¥ÀÌÅÍ Ãß°¡Çϱâ(POST) 251
7.2 TraversonÀ¸·Î REST API »ç¿ëÇϱâ 252
7.3 REST API Ŭ¶óÀ̾ðÆ®°¡ Ãß°¡µÈ ŸÄÚ Å¬¶ó¿ìµå ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇàÇϱâ 255
¿ä¾à 258
CHAPTER 8 ºñµ¿±â ¸Þ½ÃÁö Àü¼ÛÇϱâ 259
8.1 JMS·Î ¸Þ½ÃÁö Àü¼ÛÇϱâ 260
8.1.1 JMS ¼³Á¤Çϱâ 260
8.1.2 JmsTemplateÀ» »ç¿ëÇؼ ¸Þ½ÃÁö Àü¼ÛÇϱâ 263
8.1.3 JMS ¸Þ½ÃÁö ¼ö½ÅÇϱâ 271
8.2 RabbitMQ¿Í AMQP »ç¿ëÇϱâ 276
8.2.1 RabbitMQ¸¦ ½ºÇÁ¸µ¿¡ Ãß°¡Çϱâ 277
8.2.2 RabbitTemplateÀ» »ç¿ëÇؼ ¸Þ½ÃÁö Àü¼ÛÇϱâ 278
8.2.3 RabbitMQ·ÎºÎÅÍ ¸Þ½ÃÁö ¼ö½ÅÇϱâ 283
8.3 Ä«ÇÁÄ« »ç¿ëÇϱâ 288
8.3.1 Ä«ÇÁÄ« »ç¿ëÀ» À§ÇØ ½ºÇÁ¸µ ¼³Á¤Çϱâ 289
8.3.2 KafkaTemplateÀ» »ç¿ëÇؼ ¸Þ½ÃÁö Àü¼ÛÇϱâ 290
8.3.3 Ä«ÇÁÄ« ¸®½º³Ê ÀÛ¼ºÇϱâ 292
8.4 ºñµ¿±â ¸Þ½ÃÁö Àü¼Û°ú ¼ö½Å ±â´ÉÀÌ Ãß°¡µÈ ŸÄÚ Å¬¶ó¿ìµå ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇàÇϱâ 294
¿ä¾à 299
CHAPTER 9 ½ºÇÁ¸µ ÅëÇÕÇϱâ 300
9.1 °£´ÜÇÑ ÅëÇÕ ÇÃ·Î¿ì ¼±¾ðÇϱâ 301
9.1.1 XMLÀ» »ç¿ëÇؼ ÅëÇÕ Ç÷οì Á¤ÀÇÇϱâ 303
9.1.2 Java·Î ÅëÇÕ ÇÃ·Î¿ì ±¸¼ºÇϱâ 305
9.1.3 ½ºÇÁ¸µ ÅëÇÕÀÇ DSL ±¸¼º »ç¿ëÇϱâ 307
9.2 ½ºÇÁ¸µ ÅëÇÕÀÇ ÄÄÆ÷³ÍÆ® »ìÆ캸±â 308
9.2.1 ¸Þ½ÃÁö ä³Î 310
9.2.2 ÇÊÅÍ 312
9.2.3 º¯È¯±â 313
9.2.4 ¶ó¿ìÅÍ 314
9.2.5 ºÐ¹è±â 316
9.2.6 ¼ºñ½º ¾×Ƽº£ÀÌÅÍ 319
9.2.7 °ÔÀÌÆ®¿þÀÌ 321
9.2.8 ä³Î ¾î´ðÅÍ 322
9.2.9 ¿£µåÆ÷ÀÎÆ® ¸ðµâ 324
9.3 À̸ÞÀÏ ÅëÇÕ ÇÃ·Î¿ì »ý¼ºÇϱâ 326
9.4 ŸÄÚ Å¬¶ó¿ìµå ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇàÇϱâ 332
¿ä¾à 336
PART 3 ¸®¾×Ƽºê ½ºÇÁ¸µ 337
CHAPTER 10 ¸®¾×ÅÍ °³¿ä 339
10.1 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÀÌÇØÇϱâ 340
10.1.1 ¸®¾×Ƽºê ½ºÆ®¸² Á¤ÀÇÇϱâ 342
10.2 ¸®¾×ÅÍ ½ÃÀÛÇϱâ 344
10.2.1 ¸®¾×Ƽºê Ç÷οìÀÇ ´ÙÀ̾î±×·¥ 345
10.2.2 ¸®¾×ÅÍ ÀÇÁ¸¼º Ãß°¡Çϱâ 346
10.3 ¸®¾×Ƽºê ¿ÀÆÛ·¹ÀÌ¼Ç Àû¿ëÇϱâ 347
10.3.1 ¸®¾×Ƽºê ŸÀÔ »ý¼ºÇϱâ 348
10.3.2 ¸®¾×Ƽºê ŸÀÔ Á¶ÇÕÇϱâ 353
10.3.3 ¸®¾×Ƽºê ½ºÆ®¸²ÀÇ º¯È¯°ú ÇÊÅ͸µ 357
10.3.4 ¸®¾×Ƽºê ŸÀÔ¿¡ ·ÎÁ÷ ¿ÀÆÛ·¹ÀÌ¼Ç ¼öÇàÇϱâ 368
10.4 ¸®¾×Ƽºê ¿ÀÆÛ·¹ÀÌ¼Ç Å×½ºÆ® ÇÁ·ÎÁ§Æ® ºôµå ¹× ½ÇÇàÇϱâ 370
¿ä¾à 372
CHAPTER 11 ¸®¾×Ƽºê API °³¹ßÇϱâ 373
11.1 ½ºÇÁ¸µ WebFlux »ç¿ëÇϱâ 373
11.1.1 ½ºÇÁ¸µ WebFlux °³¿ä 375
11.1.2 ¸®¾×Ƽºê ÄÁÆ®·Ñ·¯ ÀÛ¼ºÇϱâ 377
11.2 ÇÔ¼öÇü ¿äû Çڵ鷯 Á¤ÀÇÇϱâ 382
11.3 ¸®¾×Ƽºê ÄÁÆ®·Ñ·¯ Å×½ºÆ®Çϱâ 386
11.3.1 GET ¿äû Å×½ºÆ®Çϱâ 386
11.3.2 POST ¿äû Å×½ºÆ®Çϱâ 389
11.3.3 ½ÇÇà ÁßÀÎ ¼¹ö·Î Å×½ºÆ®Çϱâ 391
11.4 REST API¸¦ ¸®¾×ƼºêÇÏ°Ô »ç¿ëÇϱâ 392
11.4.1 ¸®¼Ò½º ¾ò±â(GET) 393
11.4.2 ¸®¼Ò½º Àü¼ÛÇϱâ 396
11.4.3 ¸®¼Ò½º »èÁ¦Çϱâ 397
11.4.4 ¿¡·¯ ó¸®Çϱâ 397
11.4.5 ¿äû ±³È¯Çϱâ 399
11.5 ¸®¾×Ƽºê À¥ API º¸¾È 401
11.5.1 ¸®¾×Ƽºê À¥ º¸¾È ±¸¼ºÇϱâ 402
11.5.2 ¸®¾×Ƽºê »ç¿ëÀÚ ¸í¼¼ ¼ºñ½º ±¸¼ºÇϱâ 404
¿ä¾à 406
CHAPTER 12 ¸®¾×Ƽºê µ¥ÀÌÅÍ Æ۽ýºÅϽº 407
12.1 ½ºÇÁ¸µ µ¥ÀÌÅÍÀÇ ¸®¾×Ƽºê °³³ä ÀÌÇØÇϱâ 408
12.1.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ ¸®¾×Ƽºê °³¿ä 409
12.1.2 ¸®¾×Ƽºê¿Í ¸®¾×Ƽºê°¡ ¾Æ´Ñ ŸÀÔ °£ÀÇ º¯È¯ 409
12.1.3 ¸®¾×Ƽºê ¸®ÆÛÁöÅ͸® °³¹ßÇϱâ 412
12.2 ¸®¾×Ƽºê Ä«»êµå¶ó ¸®ÆÛÁöÅ͸® »ç¿ëÇϱâ 412
12.2.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ Ä«»êµå¶ó È°¼ºÈÇϱâ 413
12.2.2 Ä«»êµå¶ó µ¥ÀÌÅÍ ¸ðµ¨¸µ ÀÌÇØÇϱâ 416
12.2.3 Ä«»êµå¶ó Æ۽ýºÅϽºÀÇ µµ¸ÞÀΠŸÀÔ ¸ÅÇÎ 416
12.2.4 ¸®¾×Ƽºê Ä«»êµå¶ó ¸®ÆÛÁöÅ͸® ÀÛ¼ºÇϱâ 423
12.3 ¸®¾×Ƽºê ¸ù°íDB ¸®ÆÛÁöÅ͸® ÀÛ¼ºÇϱâ 426
12.3.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ ¸ù°íDB È°¼ºÈÇϱâ 427
12.3.2 µµ¸ÞÀΠŸÀÔÀ» ¹®¼·Î ¸ÅÇÎÇϱâ 429
12.3.3 ¸®¾×Ƽºê ¸ù°íDB ¸®ÆÛÁöÅ͸® ÀÎÅÍÆäÀ̽º ÀÛ¼ºÇϱâ 432
¿ä¾à 436
PART 4 Ŭ¶ó¿ìµå ³×ÀÌƼºê ½ºÇÁ¸µ 437
CHAPTER 13 ¼ºñ½º Ž±¸Çϱâ 439
13.1 ¸¶ÀÌÅ©·Î¼ºñ½º ÀÌÇØÇϱâ 440
13.2 ¼ºñ½º ·¹Áö½ºÆ®¸® ¼³Á¤Çϱâ 442
13.2.1 À¯·¹Ä« ±¸¼ºÇϱâ 447
13.2.2 À¯·¹Ä« È®ÀåÇϱâ 450
13.3 ¼ºñ½º µî·ÏÇÏ°í ã±â 452
13.3.1 À¯·¹Ä« Ŭ¶óÀ̾ðÆ® ¼Ó¼º ±¸¼ºÇϱâ 453
13.3.2 ¼ºñ½º »ç¿ëÇϱâ 455
13.4 ¸¶ÀÌÅ©·Î ¼ºñ½º °ü·Ã ÇÁ·ÎÁ§Æ®ÀÇ ºôµå ¹× ½ÇÇàÇϱâ 461
¿ä¾à 467
CHAPTER 14 Ŭ¶ó¿ìµå ±¸¼º °ü¸® 468
14.1 ±¸¼º °øÀ¯Çϱâ 469
14.2 ±¸¼º ¼¹ö ½ÇÇàÇϱâ 470
14.2.1 ±¸¼º ¼¹ö È°¼ºÈÇϱâ 471
14.2.2 Git ¸®ÆÛÁöÅ͸®¿¡ ±¸¼º ¼Ó¼º ÀúÀåÇϱâ 476
14.3 °øÀ¯µÇ´Â ±¸¼º µ¥ÀÌÅÍ »ç¿ëÇϱâ 480
14.4 ¾ÖÇø®ÄÉÀ̼ÇÀ̳ª ÇÁ·ÎÆÄÀÏ¿¡ ƯÁ¤µÈ ¼Ó¼º Á¦°øÇϱâ 482
14.4.1 ¾ÖÇø®ÄÉÀ̼ǿ¡ ƯÁ¤µÈ ¼Ó¼º Á¦°øÇϱâ 482
14.4.2 ÇÁ·ÎÆÄÀϷκÎÅÍ ¼Ó¼º Á¦°øÇϱâ 484
14.5 ±¸¼º ¼Ó¼ºµéÀÇ º¸¾È À¯ÁöÇϱâ 486
14.5.1 Git ¹é¿£µåÀÇ ¼Ó¼ºµé ¾ÏÈ£ÈÇϱâ 486
14.5.2 Vault¿¡ º¸¾È ¼Ó¼º ÀúÀåÇϱâ 490
14.6 ½Ç½Ã°£À¸·Î ±¸¼º ¼Ó¼º ¸®ÇÁ·¹½ÃÇϱâ 495
14.6.1 ±¸¼º ¼Ó¼ºÀ» ¼öµ¿À¸·Î ¸®ÇÁ·¹½ÃÇϱâ 496
14.6.2 ±¸¼º ¼Ó¼ºÀ» ÀÚµ¿À¸·Î ¸®ÇÁ·¹½ÃÇϱâ 499
14.7 ±¸¼º ¼¹ö¿Í ±¸¼º Ŭ¶óÀ̾ðÆ® ÇÁ·ÎÁ§Æ®ÀÇ ºôµå ¹× ½ÇÇàÇϱâ 507
¿ä¾à 511
CHAPTER 15 ½ÇÆÐ¿Í Áö¿¬ ó¸®Çϱâ 512
15.1 ¼Å¶ ºê·¹ÀÌÄ¿ ÀÌÇØÇϱâ 512
15.2 ¼Å¶ ºê·¹ÀÌÄ¿ ¼±¾ðÇϱâ 515
15.2.1 Áö¿¬ ½Ã°£ ÁÙÀ̱â 518
15.2.2 ¼Å¶ ºê·¹ÀÌÄ¿ ÇÑ°è°ª °ü¸®Çϱâ 519
15.3 ½ÇÆÐ ¸ð´ÏÅ͸µÇϱâ 521
15.3.1 Hystrix ´ë½Ãº¸µå °³¿ä 522
15.3.2 Hystrix ½º·¹µå Ç® ÀÌÇØÇϱâ 525
15.4 ´Ù¼öÀÇ Hystrix ½ºÆ®¸² Á¾ÇÕÇϱâ 527
15.5 Hystrix¿Í TurbineÀ» »ç¿ëÇÑ ½ÄÀÚÀç Ŭ¶óÀ̾ðÆ® ¼ºñ½º ºôµå ¹× ½ÇÇàÇϱâ 530
¿ä¾à 536
PART 5 ½ºÇÁ¸µ ¹èÆ÷ 537
CHAPTER 16 ½ºÇÁ¸µ ºÎÆ® ¾×Ãß¿¡ÀÌÅÍ »ç¿ëÇϱâ 539
16.1 ¾×Ãß¿¡ÀÌÅÍ °³¿ä 540
16.1.1 ¾×Ãß¿¡ÀÌÅÍÀÇ ±âº» °æ·Î ±¸¼ºÇϱâ 541
16.1.2 ¾×Ãß¿¡ÀÌÅÍ ¿£µåÆ÷ÀÎÆ®ÀÇ È°¼ºÈ¿Í ºñÈ°¼ºÈ 542
16.2 ¾×Ãß¿¡ÀÌÅÍ ¿£µåÆ÷ÀÎÆ® ¼ÒºñÇϱâ 543
16.2.1 ¾ÖÇø®ÄÉÀÌ¼Ç ±âº» Á¤º¸ °¡Á®¿À±â 544
16.2.2 ±¸¼º »ó¼¼ Á¤º¸ º¸±â 548
16.2.3 ¾ÖÇø®ÄÉÀÌ¼Ç È°µ¿ ÁöÄѺ¸±â 557
16.2.4 ·±Å¸ÀÓ ¸ÞÆ®¸¯ È°¿ëÇϱâ 560
16.3 ¾×Ãß¿¡ÀÌÅÍ Ä¿½ºÅ͸¶ÀÌ¡ 563
16.3.1 /info ¿£µåÆ÷ÀÎÆ®¿¡ Á¤º¸ Á¦°øÇϱâ 563
16.3.2 Ä¿½ºÅÒ °Ç° ÁöÇ¥ Á¤ÀÇÇϱâ 569
16.3.3 Ä¿½ºÅÒ ¸ÞÆ®¸¯ µî·ÏÇϱâ 570
16.3.4 Ä¿½ºÅÒ ¿£µåÆ÷ÀÎÆ® »ý¼ºÇϱâ 572
16.4 ¾×Ãß¿¡ÀÌÅÍ º¸¾È ó¸®Çϱâ 576
16.5 ¾×Ãß¿¡ÀÌÅÍ ¿£µåÆ÷ÀÎÆ®¿Í º¸¾ÈÀ» »ç¿ëÇÑ Å¸ÄÚ ¼ºñ½º ºôµå ¹× ½ÇÇàÇϱâ 578
¿ä¾à 583
CHAPTER 17 ½ºÇÁ¸µ °ü¸®Çϱâ 584
17.1 ½ºÇÁ¸µ ºÎÆ® Admin »ç¿ëÇϱâ 585
17.1.1 Admin ¼¹ö »ý¼ºÇϱâ 585
17.1.2 Admin Ŭ¶óÀ̾ðÆ® µî·ÏÇϱâ 587
17.2 Admin ¼¹ö »ìÆ캸±â 591
17.2.1 ¾ÖÇø®ÄÉÀ̼ÇÀÇ °Ç° »óÅ Á¤º¸¿Í ÀÏ¹Ý Á¤º¸ º¸±â 592
17.2.2 ÇÙ½É ¸ÞÆ®¸¯ »ìÆ캸±â 593
17.2.3 ȯ°æ ¼Ó¼º »ìÆ캸±â 594
17.2.4 ·Î±ë ·¹º§À» º¸°Å³ª ¼³Á¤Çϱâ 594
17.2.5 ½º·¹µå ¸ð´ÏÅ͸µ 595
17.2.6 HTTP ¿äû ÃßÀûÇϱâ 596
17.3 Admin ¼¹öÀÇ º¸¾È 597
17.3.1 Admin ¼¹ö¿¡ ·Î±×ÀÎ È°¼ºÈÇϱâ 598
17.3.2 ¾×Ãß¿¡ÀÌÅÍ·Î ÀÎÁõÇϱâ 598
17.4 Admin ¼¹ö ¼ºñ½º ºôµå ¹× ½ÇÇàÇϱâ 600
¿ä¾à 606
CHAPTER 18 JMX·Î ½ºÇÁ¸µ ¸ð´ÏÅ͸µÇϱâ 607
18.1 ¾×Ãß¿¡ÀÌÅÍ MBeans »ç¿ëÇϱâ 607
18.2 ¿ì¸®ÀÇ MBeans »ý¼ºÇϱâ 610
18.3 ¾Ë¸² Àü¼ÛÇϱâ 612
18.4 TacoCounter MBeans ºôµå ¹× »ç¿ëÇϱâ 613
¿ä¾à 619
CHAPTER 19 ½ºÇÁ¸µ ¹èÆ÷Çϱâ 620
19.1 ¹èÆ÷ ¿É¼Ç 621
19.2 WAR ÆÄÀÏ ºôµåÇÏ°í ¹èÆ÷Çϱâ 622
19.3 Ŭ¶ó¿ìµå ÆÄ¿îµå¸®¿¡ JAR ÆÄÀÏ Çª½ÃÇϱâ 625
19.4 µµÄ¿ ÄÁÅ×À̳ʿ¡¼ ½ºÇÁ¸µ ºÎÆ® ½ÇÇàÇϱâ 628
¿ä¾à 633
APPENDIX A ½ºÇÁ¸µ ºÎÆ® ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 634
A.1 STS¸¦ »ç¿ëÇؼ ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 634
A.2 IntelliJ IDEA ¼³Ä¡ ¹× ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 638
A.2.1 À©µµ¿ì ½Ã½ºÅÛ¿¡¼ IntelliJ IDEA ¼³Ä¡Çϱâ
A.2.2 ¸ÆOS¿¡¼ IntelliJ IDEA ¼³Ä¡Çϱâ
A.2.3 ¸®´ª½º¿¡¼ IntelliJ IDEA ¼³Ä¡Çϱâ
A.2.4 IntelliJ IDEA ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ
A.3 NetBeans ¼³Ä¡ ¹× ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 645
A.4 start.spring.io¿¡ Á÷Á¢ Á¢¼ÓÇÏ¿© ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 651
A.5 ¸í·ÉÇà¿¡¼ ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 654
A.5.1 curl°ú Initializr API
A.5.2 ½ºÇÁ¸µ ºÎÆ® ¸í·ÉÇà ÀÎÅÍÆäÀ̽º »ç¿ëÇϱâ
A.6 ¸ÞŸ-ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇؼ ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç »ý¼ºÇϱâ 658
A.7 ÇÁ·ÎÁ§Æ® ºôµåÇÏ°í ½ÇÇàÇϱâ 659
A.8 curl ¼³Ä¡Çϱâ 660
ã¾Æº¸±â 664
CHAPTER 1 ½ºÇÁ¸µ ½ÃÀÛÇϱâ 3
1.1 ½ºÇÁ¸µÀ̶õ? 4
1.2 ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç Ãʱ⠼³Á¤Çϱâ 7
1.2.1 STS¸¦ »ç¿ëÇؼ ½ºÇÁ¸µ ÇÁ·ÎÁ§Æ® Ãʱ⠼³Á¤Çϱâ 8
1.2.2 ½ºÇÁ¸µ ÇÁ·ÎÁ§Æ® ±¸Á¶ »ìÆ캸±â 12
1.3 ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼ºÇϱâ 18
1.3.1 À¥ ¿äû ó¸®Çϱâ 19
1.3.2 ºä Á¤ÀÇÇϱâ 20
1.3.3 ÄÁÆ®·Ñ·¯ Å×½ºÆ®Çϱâ 22
1.3.4 ¾ÖÇø®ÄÉÀÌ¼Ç ºôµåÇÏ°í ½ÇÇàÇϱâ 24
1.3.5 ½ºÇÁ¸µ ºÎÆ® DevTools ¾Ë¾Æº¸±â 26
1.3.6 ¸®ºäÇϱâ 28
1.4 ½ºÇÁ¸µ »ìÆ캸±â 30
1.4.1 ÇÙ½É ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© 30
1.4.2 ½ºÇÁ¸µ ºÎÆ® 31
1.4.3 ½ºÇÁ¸µ µ¥ÀÌÅÍ 31
1.4.4 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ 32
1.4.5 ½ºÇÁ¸µ ÅëÇÕ°ú ¹èÄ¡ 32
1.4.6 ½ºÇÁ¸µ Ŭ¶ó¿ìµå 32
¿ä¾à 33
CHAPTER 2 À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÇϱâ 34
2.1 Á¤º¸ º¸¿©ÁÖ±â 35
2.1.1 µµ¸ÞÀÎ ¼³Á¤Çϱâ 36
2.1.2 ÄÁÆ®·Ñ·¯ Ŭ·¡½º »ý¼ºÇϱâ 41
2.1.3 ºä µðÀÚÀÎÇϱâ 45
2.2 Æû Á¦Ãâ ó¸®Çϱâ 51
2.3 Æû ÀÔ·Â À¯È¿¼º °Ë»çÇϱâ 57
2.3.1 À¯È¿¼º °Ë»ç ±ÔÄ¢ ¼±¾ðÇϱâ 58
2.3.2 Æû°ú ¹ÙÀεùµÉ ¶§ À¯È¿¼º °Ë»ç ¼öÇàÇϱâ 60
2.3.3 À¯È¿¼º °Ë»ç ¿¡·¯ º¸¿©ÁÖ±â 62
2.4 ºä ÄÁÆ®·Ñ·¯·Î ÀÛ¾÷Çϱâ 65
2.5 ºä ÅÛÇø´ ¶óÀ̺귯¸® ¼±ÅÃÇϱâ 68
2.5.1 ÅÛÇø´ ij½Ì 70
¿ä¾à 71
CHAPTER 3 µ¥ÀÌÅÍ·Î ÀÛ¾÷Çϱâ 72
3.1 JDBC¸¦ »ç¿ëÇؼ µ¥ÀÌÅÍ ÀÐ°í ¾²±â 73
3.1.1 Æ۽ýºÅϽº¸¦ °í·ÁÇÑ µµ¸ÞÀÎ °´Ã¼ ¼öÁ¤Çϱâ 75
3.1.2 JdbcTemplate »ç¿ëÇϱâ 76
3.1.3 ½ºÅ°¸¶ Á¤ÀÇÇÏ°í µ¥ÀÌÅÍ Ãß°¡Çϱâ 84
3.1.4 ŸÄÚ¿Í ÁÖ¹® µ¥ÀÌÅÍ Ãß°¡Çϱâ 87
3.2 ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA¸¦ »ç¿ëÇؼ µ¥ÀÌÅÍ ÀúÀåÇÏ°í »ç¿ëÇϱâ 103
3.2.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA¸¦ ÇÁ·ÎÁ§Æ®¿¡ Ãß°¡Çϱâ 103
3.2.2 µµ¸ÞÀÎ °´Ã¼¿¡ ¾Ö³ëÅ×ÀÌ¼Ç Ãß°¡Çϱâ 104
3.2.3 JPA ¸®ÆÛÁöÅ͸® ¼±¾ðÇϱâ 108
3.2.4 JPA ¸®ÆÛÁöÅ͸® Ä¿½ºÅ͸¶ÀÌ¡Çϱâ 112
¿ä¾à 115
CHAPTER 4 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ 116
4.1 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ È°¼ºÈÇϱâ 117
4.2 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ±¸¼ºÇϱâ 120
4.2.1 Àθ޸𸮠»ç¿ëÀÚ ½ºÅä¾î 123
4.2.2 JDBC ±â¹ÝÀÇ »ç¿ëÀÚ ½ºÅä¾î 125
4.2.3 LDAP ±â¹Ý »ç¿ëÀÚ ½ºÅä¾î 132
4.2.4 »ç¿ëÀÚ ÀÎÁõÀÇ Ä¿½ºÅ͸¶ÀÌ¡ 138
4.3 À¥ ¿äû º¸¾È ó¸®Çϱâ 148
4.3.1 À¥ ¿äû º¸¾È ó¸®Çϱâ 148
4.3.2 Ä¿½ºÅÒ ·Î±×ÀÎ ÆäÀÌÁö »ý¼ºÇϱâ 152
4.3.3 ·Î±×¾Æ¿ôÇϱâ 155
4.3.4 CSRF °ø°Ý ¹æ¾îÇϱâ 155
4.4 »ç¿ëÀÚ ÀÎÁöÇϱâ 158
4.5 °¢ Æû¿¡ ·Î±×¾Æ¿ô ¹öÆ° Ãß°¡ÇÏ°í »ç¿ëÀÚ Á¤º¸ º¸¿©ÁÖ±â 164
¿ä¾à 166
CHAPTER 5 ±¸¼º ¼Ó¼º »ç¿ëÇϱâ 167
5.1 ÀÚµ¿-±¸¼º ¼¼ºÎ Á¶Á¤Çϱâ 168
5.1.1 ½ºÇÁ¸µ ȯ°æ Ãß»óÈ ÀÌÇØÇϱâ 169
5.1.2 µ¥ÀÌÅÍ ¼Ò½º ±¸¼ºÇϱâ 171
5.1.3 ³»Àå ¼¹ö ±¸¼ºÇϱâ 172
5.1.4 ·Î±ë ±¸¼ºÇϱâ 174
5.1.5 ´Ù¸¥ ¼Ó¼ºÀÇ °ª °¡Á®¿À±â 176
5.2 ¿ì¸®ÀÇ ±¸¼º ¼Ó¼º »ý¼ºÇϱâ 176
5.2.1 ±¸¼º ¼Ó¼º Ȧ´õ Á¤ÀÇÇϱâ 180
5.2.2 ±¸¼º ¼Ó¼º ¸ÞŸµ¥ÀÌÅÍ ¼±¾ðÇϱâ 182
5.3 ÇÁ·ÎÆÄÀÏ »ç¿ëÇؼ ±¸¼ºÇϱâ 185
5.3.1 ÇÁ·ÎÆÄÀÏ Æ¯Á¤ ¼Ó¼º Á¤ÀÇÇϱâ 186
5.3.2 ÇÁ·ÎÆÄÀÏ È°¼ºÈÇϱâ 188
5.3.3 ÇÁ·ÎÆÄÀÏÀ» »ç¿ëÇؼ Á¶°Çº°·Î ºó »ý¼ºÇϱâ 189
¿ä¾à 191
PART 2 ÅëÇÕµÈ ½ºÇÁ¸µ 193
CHAPTER 6 REST ¼ºñ½º »ý¼ºÇϱâ 195
6.1 REST ÄÁÆ®·Ñ·¯ ÀÛ¼ºÇϱâ 196
6.1.1 ¼¹ö¿¡¼ µ¥ÀÌÅÍ °¡Á®¿À±â 198
6.1.2 ¼¹ö¿¡ µ¥ÀÌÅÍ Àü¼ÛÇϱâ 204
6.1.3 ¼¹öÀÇ µ¥ÀÌÅÍ º¯°æÇϱâ 205
6.1.4 ¼¹ö¿¡¼ µ¥ÀÌÅÍ »èÁ¦Çϱâ 208
6.2 ÇÏÀÌÆ۹̵ð¾î »ç¿ëÇϱâ 209
6.2.1 ÇÏÀÌÆÛ¸µÅ© Ãß°¡Çϱâ 212
6.2.2 ¸®¼Ò½º ¾î¼Àºí·¯ »ý¼ºÇϱâ 215
6.2.3 embedded °ü°è À̸§ Áþ±â 220
6.3 µ¥ÀÌÅÍ ±â¹Ý ¼ºñ½º È°¼ºÈÇϱâ 221
6.3.1 ¸®¼Ò½º °æ·Î¿Í °ü°è À̸§ Á¶Á¤Çϱâ 224
6.3.2 ÆäÀÌ¡°ú Á¤·Ä 226
6.3.3 Ä¿½ºÅÒ ¿£µåÆ÷ÀÎÆ® Ãß°¡Çϱâ 228
6.3.4 Ä¿½ºÅÒ ÇÏÀÌÆÛ¸µÅ©¸¦ ½ºÇÁ¸µ µ¥ÀÌÅÍ ¿£µåÆ÷ÀÎÆ®¿¡ Ãß°¡Çϱâ 230
6.4 ¾Þ±Ö·¯ IDE ÀÌŬ¸³½º Ç÷¯±×ÀÎ ¼³Ä¡¿Í ÇÁ·ÎÁ§Æ® ºôµå ¹× ½ÇÇàÇϱâ 231
6.4.1 ¾Þ±Ö·¯ IDE ÀÌŬ¸³½º Ç÷¯±×ÀÎ ¼³Ä¡Çϱâ 232
6.4.2 ŸÄÚ Å¬¶ó¿ìµå ¾ÖÇø®ÄÉÀÌ¼Ç ºôµåÇÏ°í ½ÇÇàÇϱâ 237
¿ä¾à 244
CHAPTER 7 REST ¼ºñ½º »ç¿ëÇϱâ 245
7.1 RestTemplateÀ¸·Î REST ¿£µåÆ÷ÀÎÆ® »ç¿ëÇϱâ 246
7.1.1 ¸®¼Ò½º °¡Á®¿À±â(GET) 248
7.1.2 ¸®¼Ò½º ¾²±â(PUT) 250
7.1.3 ¸®¼Ò½º »èÁ¦Çϱâ(DELETE) 250
7.1.4 ¸®¼Ò½º µ¥ÀÌÅÍ Ãß°¡Çϱâ(POST) 251
7.2 TraversonÀ¸·Î REST API »ç¿ëÇϱâ 252
7.3 REST API Ŭ¶óÀ̾ðÆ®°¡ Ãß°¡µÈ ŸÄÚ Å¬¶ó¿ìµå ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇàÇϱâ 255
¿ä¾à 258
CHAPTER 8 ºñµ¿±â ¸Þ½ÃÁö Àü¼ÛÇϱâ 259
8.1 JMS·Î ¸Þ½ÃÁö Àü¼ÛÇϱâ 260
8.1.1 JMS ¼³Á¤Çϱâ 260
8.1.2 JmsTemplateÀ» »ç¿ëÇؼ ¸Þ½ÃÁö Àü¼ÛÇϱâ 263
8.1.3 JMS ¸Þ½ÃÁö ¼ö½ÅÇϱâ 271
8.2 RabbitMQ¿Í AMQP »ç¿ëÇϱâ 276
8.2.1 RabbitMQ¸¦ ½ºÇÁ¸µ¿¡ Ãß°¡Çϱâ 277
8.2.2 RabbitTemplateÀ» »ç¿ëÇؼ ¸Þ½ÃÁö Àü¼ÛÇϱâ 278
8.2.3 RabbitMQ·ÎºÎÅÍ ¸Þ½ÃÁö ¼ö½ÅÇϱâ 283
8.3 Ä«ÇÁÄ« »ç¿ëÇϱâ 288
8.3.1 Ä«ÇÁÄ« »ç¿ëÀ» À§ÇØ ½ºÇÁ¸µ ¼³Á¤Çϱâ 289
8.3.2 KafkaTemplateÀ» »ç¿ëÇؼ ¸Þ½ÃÁö Àü¼ÛÇϱâ 290
8.3.3 Ä«ÇÁÄ« ¸®½º³Ê ÀÛ¼ºÇϱâ 292
8.4 ºñµ¿±â ¸Þ½ÃÁö Àü¼Û°ú ¼ö½Å ±â´ÉÀÌ Ãß°¡µÈ ŸÄÚ Å¬¶ó¿ìµå ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇàÇϱâ 294
¿ä¾à 299
CHAPTER 9 ½ºÇÁ¸µ ÅëÇÕÇϱâ 300
9.1 °£´ÜÇÑ ÅëÇÕ ÇÃ·Î¿ì ¼±¾ðÇϱâ 301
9.1.1 XMLÀ» »ç¿ëÇؼ ÅëÇÕ Ç÷οì Á¤ÀÇÇϱâ 303
9.1.2 Java·Î ÅëÇÕ ÇÃ·Î¿ì ±¸¼ºÇϱâ 305
9.1.3 ½ºÇÁ¸µ ÅëÇÕÀÇ DSL ±¸¼º »ç¿ëÇϱâ 307
9.2 ½ºÇÁ¸µ ÅëÇÕÀÇ ÄÄÆ÷³ÍÆ® »ìÆ캸±â 308
9.2.1 ¸Þ½ÃÁö ä³Î 310
9.2.2 ÇÊÅÍ 312
9.2.3 º¯È¯±â 313
9.2.4 ¶ó¿ìÅÍ 314
9.2.5 ºÐ¹è±â 316
9.2.6 ¼ºñ½º ¾×Ƽº£ÀÌÅÍ 319
9.2.7 °ÔÀÌÆ®¿þÀÌ 321
9.2.8 ä³Î ¾î´ðÅÍ 322
9.2.9 ¿£µåÆ÷ÀÎÆ® ¸ðµâ 324
9.3 À̸ÞÀÏ ÅëÇÕ ÇÃ·Î¿ì »ý¼ºÇϱâ 326
9.4 ŸÄÚ Å¬¶ó¿ìµå ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ¹× ½ÇÇàÇϱâ 332
¿ä¾à 336
PART 3 ¸®¾×Ƽºê ½ºÇÁ¸µ 337
CHAPTER 10 ¸®¾×ÅÍ °³¿ä 339
10.1 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÀÌÇØÇϱâ 340
10.1.1 ¸®¾×Ƽºê ½ºÆ®¸² Á¤ÀÇÇϱâ 342
10.2 ¸®¾×ÅÍ ½ÃÀÛÇϱâ 344
10.2.1 ¸®¾×Ƽºê Ç÷οìÀÇ ´ÙÀ̾î±×·¥ 345
10.2.2 ¸®¾×ÅÍ ÀÇÁ¸¼º Ãß°¡Çϱâ 346
10.3 ¸®¾×Ƽºê ¿ÀÆÛ·¹ÀÌ¼Ç Àû¿ëÇϱâ 347
10.3.1 ¸®¾×Ƽºê ŸÀÔ »ý¼ºÇϱâ 348
10.3.2 ¸®¾×Ƽºê ŸÀÔ Á¶ÇÕÇϱâ 353
10.3.3 ¸®¾×Ƽºê ½ºÆ®¸²ÀÇ º¯È¯°ú ÇÊÅ͸µ 357
10.3.4 ¸®¾×Ƽºê ŸÀÔ¿¡ ·ÎÁ÷ ¿ÀÆÛ·¹ÀÌ¼Ç ¼öÇàÇϱâ 368
10.4 ¸®¾×Ƽºê ¿ÀÆÛ·¹ÀÌ¼Ç Å×½ºÆ® ÇÁ·ÎÁ§Æ® ºôµå ¹× ½ÇÇàÇϱâ 370
¿ä¾à 372
CHAPTER 11 ¸®¾×Ƽºê API °³¹ßÇϱâ 373
11.1 ½ºÇÁ¸µ WebFlux »ç¿ëÇϱâ 373
11.1.1 ½ºÇÁ¸µ WebFlux °³¿ä 375
11.1.2 ¸®¾×Ƽºê ÄÁÆ®·Ñ·¯ ÀÛ¼ºÇϱâ 377
11.2 ÇÔ¼öÇü ¿äû Çڵ鷯 Á¤ÀÇÇϱâ 382
11.3 ¸®¾×Ƽºê ÄÁÆ®·Ñ·¯ Å×½ºÆ®Çϱâ 386
11.3.1 GET ¿äû Å×½ºÆ®Çϱâ 386
11.3.2 POST ¿äû Å×½ºÆ®Çϱâ 389
11.3.3 ½ÇÇà ÁßÀÎ ¼¹ö·Î Å×½ºÆ®Çϱâ 391
11.4 REST API¸¦ ¸®¾×ƼºêÇÏ°Ô »ç¿ëÇϱâ 392
11.4.1 ¸®¼Ò½º ¾ò±â(GET) 393
11.4.2 ¸®¼Ò½º Àü¼ÛÇϱâ 396
11.4.3 ¸®¼Ò½º »èÁ¦Çϱâ 397
11.4.4 ¿¡·¯ ó¸®Çϱâ 397
11.4.5 ¿äû ±³È¯Çϱâ 399
11.5 ¸®¾×Ƽºê À¥ API º¸¾È 401
11.5.1 ¸®¾×Ƽºê À¥ º¸¾È ±¸¼ºÇϱâ 402
11.5.2 ¸®¾×Ƽºê »ç¿ëÀÚ ¸í¼¼ ¼ºñ½º ±¸¼ºÇϱâ 404
¿ä¾à 406
CHAPTER 12 ¸®¾×Ƽºê µ¥ÀÌÅÍ Æ۽ýºÅϽº 407
12.1 ½ºÇÁ¸µ µ¥ÀÌÅÍÀÇ ¸®¾×Ƽºê °³³ä ÀÌÇØÇϱâ 408
12.1.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ ¸®¾×Ƽºê °³¿ä 409
12.1.2 ¸®¾×Ƽºê¿Í ¸®¾×Ƽºê°¡ ¾Æ´Ñ ŸÀÔ °£ÀÇ º¯È¯ 409
12.1.3 ¸®¾×Ƽºê ¸®ÆÛÁöÅ͸® °³¹ßÇϱâ 412
12.2 ¸®¾×Ƽºê Ä«»êµå¶ó ¸®ÆÛÁöÅ͸® »ç¿ëÇϱâ 412
12.2.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ Ä«»êµå¶ó È°¼ºÈÇϱâ 413
12.2.2 Ä«»êµå¶ó µ¥ÀÌÅÍ ¸ðµ¨¸µ ÀÌÇØÇϱâ 416
12.2.3 Ä«»êµå¶ó Æ۽ýºÅϽºÀÇ µµ¸ÞÀΠŸÀÔ ¸ÅÇÎ 416
12.2.4 ¸®¾×Ƽºê Ä«»êµå¶ó ¸®ÆÛÁöÅ͸® ÀÛ¼ºÇϱâ 423
12.3 ¸®¾×Ƽºê ¸ù°íDB ¸®ÆÛÁöÅ͸® ÀÛ¼ºÇϱâ 426
12.3.1 ½ºÇÁ¸µ µ¥ÀÌÅÍ ¸ù°íDB È°¼ºÈÇϱâ 427
12.3.2 µµ¸ÞÀΠŸÀÔÀ» ¹®¼·Î ¸ÅÇÎÇϱâ 429
12.3.3 ¸®¾×Ƽºê ¸ù°íDB ¸®ÆÛÁöÅ͸® ÀÎÅÍÆäÀ̽º ÀÛ¼ºÇϱâ 432
¿ä¾à 436
PART 4 Ŭ¶ó¿ìµå ³×ÀÌƼºê ½ºÇÁ¸µ 437
CHAPTER 13 ¼ºñ½º Ž±¸Çϱâ 439
13.1 ¸¶ÀÌÅ©·Î¼ºñ½º ÀÌÇØÇϱâ 440
13.2 ¼ºñ½º ·¹Áö½ºÆ®¸® ¼³Á¤Çϱâ 442
13.2.1 À¯·¹Ä« ±¸¼ºÇϱâ 447
13.2.2 À¯·¹Ä« È®ÀåÇϱâ 450
13.3 ¼ºñ½º µî·ÏÇÏ°í ã±â 452
13.3.1 À¯·¹Ä« Ŭ¶óÀ̾ðÆ® ¼Ó¼º ±¸¼ºÇϱâ 453
13.3.2 ¼ºñ½º »ç¿ëÇϱâ 455
13.4 ¸¶ÀÌÅ©·Î ¼ºñ½º °ü·Ã ÇÁ·ÎÁ§Æ®ÀÇ ºôµå ¹× ½ÇÇàÇϱâ 461
¿ä¾à 467
CHAPTER 14 Ŭ¶ó¿ìµå ±¸¼º °ü¸® 468
14.1 ±¸¼º °øÀ¯Çϱâ 469
14.2 ±¸¼º ¼¹ö ½ÇÇàÇϱâ 470
14.2.1 ±¸¼º ¼¹ö È°¼ºÈÇϱâ 471
14.2.2 Git ¸®ÆÛÁöÅ͸®¿¡ ±¸¼º ¼Ó¼º ÀúÀåÇϱâ 476
14.3 °øÀ¯µÇ´Â ±¸¼º µ¥ÀÌÅÍ »ç¿ëÇϱâ 480
14.4 ¾ÖÇø®ÄÉÀ̼ÇÀ̳ª ÇÁ·ÎÆÄÀÏ¿¡ ƯÁ¤µÈ ¼Ó¼º Á¦°øÇϱâ 482
14.4.1 ¾ÖÇø®ÄÉÀ̼ǿ¡ ƯÁ¤µÈ ¼Ó¼º Á¦°øÇϱâ 482
14.4.2 ÇÁ·ÎÆÄÀϷκÎÅÍ ¼Ó¼º Á¦°øÇϱâ 484
14.5 ±¸¼º ¼Ó¼ºµéÀÇ º¸¾È À¯ÁöÇϱâ 486
14.5.1 Git ¹é¿£µåÀÇ ¼Ó¼ºµé ¾ÏÈ£ÈÇϱâ 486
14.5.2 Vault¿¡ º¸¾È ¼Ó¼º ÀúÀåÇϱâ 490
14.6 ½Ç½Ã°£À¸·Î ±¸¼º ¼Ó¼º ¸®ÇÁ·¹½ÃÇϱâ 495
14.6.1 ±¸¼º ¼Ó¼ºÀ» ¼öµ¿À¸·Î ¸®ÇÁ·¹½ÃÇϱâ 496
14.6.2 ±¸¼º ¼Ó¼ºÀ» ÀÚµ¿À¸·Î ¸®ÇÁ·¹½ÃÇϱâ 499
14.7 ±¸¼º ¼¹ö¿Í ±¸¼º Ŭ¶óÀ̾ðÆ® ÇÁ·ÎÁ§Æ®ÀÇ ºôµå ¹× ½ÇÇàÇϱâ 507
¿ä¾à 511
CHAPTER 15 ½ÇÆÐ¿Í Áö¿¬ ó¸®Çϱâ 512
15.1 ¼Å¶ ºê·¹ÀÌÄ¿ ÀÌÇØÇϱâ 512
15.2 ¼Å¶ ºê·¹ÀÌÄ¿ ¼±¾ðÇϱâ 515
15.2.1 Áö¿¬ ½Ã°£ ÁÙÀ̱â 518
15.2.2 ¼Å¶ ºê·¹ÀÌÄ¿ ÇÑ°è°ª °ü¸®Çϱâ 519
15.3 ½ÇÆÐ ¸ð´ÏÅ͸µÇϱâ 521
15.3.1 Hystrix ´ë½Ãº¸µå °³¿ä 522
15.3.2 Hystrix ½º·¹µå Ç® ÀÌÇØÇϱâ 525
15.4 ´Ù¼öÀÇ Hystrix ½ºÆ®¸² Á¾ÇÕÇϱâ 527
15.5 Hystrix¿Í TurbineÀ» »ç¿ëÇÑ ½ÄÀÚÀç Ŭ¶óÀ̾ðÆ® ¼ºñ½º ºôµå ¹× ½ÇÇàÇϱâ 530
¿ä¾à 536
PART 5 ½ºÇÁ¸µ ¹èÆ÷ 537
CHAPTER 16 ½ºÇÁ¸µ ºÎÆ® ¾×Ãß¿¡ÀÌÅÍ »ç¿ëÇϱâ 539
16.1 ¾×Ãß¿¡ÀÌÅÍ °³¿ä 540
16.1.1 ¾×Ãß¿¡ÀÌÅÍÀÇ ±âº» °æ·Î ±¸¼ºÇϱâ 541
16.1.2 ¾×Ãß¿¡ÀÌÅÍ ¿£µåÆ÷ÀÎÆ®ÀÇ È°¼ºÈ¿Í ºñÈ°¼ºÈ 542
16.2 ¾×Ãß¿¡ÀÌÅÍ ¿£µåÆ÷ÀÎÆ® ¼ÒºñÇϱâ 543
16.2.1 ¾ÖÇø®ÄÉÀÌ¼Ç ±âº» Á¤º¸ °¡Á®¿À±â 544
16.2.2 ±¸¼º »ó¼¼ Á¤º¸ º¸±â 548
16.2.3 ¾ÖÇø®ÄÉÀÌ¼Ç È°µ¿ ÁöÄѺ¸±â 557
16.2.4 ·±Å¸ÀÓ ¸ÞÆ®¸¯ È°¿ëÇϱâ 560
16.3 ¾×Ãß¿¡ÀÌÅÍ Ä¿½ºÅ͸¶ÀÌ¡ 563
16.3.1 /info ¿£µåÆ÷ÀÎÆ®¿¡ Á¤º¸ Á¦°øÇϱâ 563
16.3.2 Ä¿½ºÅÒ °Ç° ÁöÇ¥ Á¤ÀÇÇϱâ 569
16.3.3 Ä¿½ºÅÒ ¸ÞÆ®¸¯ µî·ÏÇϱâ 570
16.3.4 Ä¿½ºÅÒ ¿£µåÆ÷ÀÎÆ® »ý¼ºÇϱâ 572
16.4 ¾×Ãß¿¡ÀÌÅÍ º¸¾È ó¸®Çϱâ 576
16.5 ¾×Ãß¿¡ÀÌÅÍ ¿£µåÆ÷ÀÎÆ®¿Í º¸¾ÈÀ» »ç¿ëÇÑ Å¸ÄÚ ¼ºñ½º ºôµå ¹× ½ÇÇàÇϱâ 578
¿ä¾à 583
CHAPTER 17 ½ºÇÁ¸µ °ü¸®Çϱâ 584
17.1 ½ºÇÁ¸µ ºÎÆ® Admin »ç¿ëÇϱâ 585
17.1.1 Admin ¼¹ö »ý¼ºÇϱâ 585
17.1.2 Admin Ŭ¶óÀ̾ðÆ® µî·ÏÇϱâ 587
17.2 Admin ¼¹ö »ìÆ캸±â 591
17.2.1 ¾ÖÇø®ÄÉÀ̼ÇÀÇ °Ç° »óÅ Á¤º¸¿Í ÀÏ¹Ý Á¤º¸ º¸±â 592
17.2.2 ÇÙ½É ¸ÞÆ®¸¯ »ìÆ캸±â 593
17.2.3 ȯ°æ ¼Ó¼º »ìÆ캸±â 594
17.2.4 ·Î±ë ·¹º§À» º¸°Å³ª ¼³Á¤Çϱâ 594
17.2.5 ½º·¹µå ¸ð´ÏÅ͸µ 595
17.2.6 HTTP ¿äû ÃßÀûÇϱâ 596
17.3 Admin ¼¹öÀÇ º¸¾È 597
17.3.1 Admin ¼¹ö¿¡ ·Î±×ÀÎ È°¼ºÈÇϱâ 598
17.3.2 ¾×Ãß¿¡ÀÌÅÍ·Î ÀÎÁõÇϱâ 598
17.4 Admin ¼¹ö ¼ºñ½º ºôµå ¹× ½ÇÇàÇϱâ 600
¿ä¾à 606
CHAPTER 18 JMX·Î ½ºÇÁ¸µ ¸ð´ÏÅ͸µÇϱâ 607
18.1 ¾×Ãß¿¡ÀÌÅÍ MBeans »ç¿ëÇϱâ 607
18.2 ¿ì¸®ÀÇ MBeans »ý¼ºÇϱâ 610
18.3 ¾Ë¸² Àü¼ÛÇϱâ 612
18.4 TacoCounter MBeans ºôµå ¹× »ç¿ëÇϱâ 613
¿ä¾à 619
CHAPTER 19 ½ºÇÁ¸µ ¹èÆ÷Çϱâ 620
19.1 ¹èÆ÷ ¿É¼Ç 621
19.2 WAR ÆÄÀÏ ºôµåÇÏ°í ¹èÆ÷Çϱâ 622
19.3 Ŭ¶ó¿ìµå ÆÄ¿îµå¸®¿¡ JAR ÆÄÀÏ Çª½ÃÇϱâ 625
19.4 µµÄ¿ ÄÁÅ×À̳ʿ¡¼ ½ºÇÁ¸µ ºÎÆ® ½ÇÇàÇϱâ 628
¿ä¾à 633
APPENDIX A ½ºÇÁ¸µ ºÎÆ® ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 634
A.1 STS¸¦ »ç¿ëÇؼ ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 634
A.2 IntelliJ IDEA ¼³Ä¡ ¹× ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 638
A.2.1 À©µµ¿ì ½Ã½ºÅÛ¿¡¼ IntelliJ IDEA ¼³Ä¡Çϱâ
A.2.2 ¸ÆOS¿¡¼ IntelliJ IDEA ¼³Ä¡Çϱâ
A.2.3 ¸®´ª½º¿¡¼ IntelliJ IDEA ¼³Ä¡Çϱâ
A.2.4 IntelliJ IDEA ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ
A.3 NetBeans ¼³Ä¡ ¹× ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 645
A.4 start.spring.io¿¡ Á÷Á¢ Á¢¼ÓÇÏ¿© ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 651
A.5 ¸í·ÉÇà¿¡¼ ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 654
A.5.1 curl°ú Initializr API
A.5.2 ½ºÇÁ¸µ ºÎÆ® ¸í·ÉÇà ÀÎÅÍÆäÀ̽º »ç¿ëÇϱâ
A.6 ¸ÞŸ-ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇؼ ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç »ý¼ºÇϱâ 658
A.7 ÇÁ·ÎÁ§Æ® ºôµåÇÏ°í ½ÇÇàÇϱâ 659
A.8 curl ¼³Ä¡Çϱâ 660
ã¾Æº¸±â 664
ÇÑÃþ ´õ ÁøÈÇÑ ½ºÇÁ¸µ 5·Î À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ³¯°³¸¦ ´Þ´Ù!
½ºÇÁ¸µ WebFlux µî ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö Áö¿øÀ» °ÈÇÑ ½ºÇÁ¸µ 5ÀÇ ¸ðµç °ÍÀ» Ž±¸ÇÑ´Ù!
½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©´Â ÀÚ¹Ù °³¹ßÀÚµéÀ» ´õ ÆíÇÏ°Ô ÇØÁÝ´Ï´Ù. ½ºÇÁ¸µ 5ÀÇ »õ·Î¿î ±â´ÉµéÀº ¸¶ÀÌÅ©·Î¼ºñ½º¿Í ¸®¾×Ƽºê ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß°ú °°Àº Çö´ëÀû ¾ÖÇø®ÄÉÀÌ¼Ç ¼³°è ½Ã¿¡ »ý»ê¼ºÀ» ³ô¿© ÁÝ´Ï´Ù. ÀÌÁ¦´Â ½ºÇÁ¸µ ºÎÆ®°¡ ¿ÏÀüÈ÷ ÅëÇÕµÇ¾î º¹ÀâÇÑ ÇÁ·ÎÁ§Æ®ÀÏÁö¶óµµ ÃÖ¼ÒÇÑÀÇ ±¸¼º ÄÚµå·Î ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, ÇÑÃþ ¾÷±×·¹À̵åµÈ WebFlux ÇÁ·¹ÀÓ¿öÅ©´Â ±âº»ÀûÀ¸·Î ¸®¾×Ƽºê ¾ÖÇø®ÄÉÀ̼ÇÀ» Áö¿øÇÕ´Ï´Ù.
¡º½ºÇÁ¸µ ÀÎ ¾×¼Ç(Á¦5ÆÇ)¡»Àº ½ºÇÁ¸µÀÇ ÇÙ½É ±â´ÉÀ» ¸íÄèÇÏ°Ô ¾Ë·Á ÁÝ´Ï´Ù. ÀÌ Ã¥À» ÅëÇØ ¿©·¯ºÐÀº µ¥ÀÌÅͺ£À̽º°¡ Áö¿øµÇ´Â À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¡ÁøÀûÀ¸·Î ¸¸µé¾î º¼ °ÍÀÔ´Ï´Ù. ±×·¯¸é¼ ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö, ¸¶ÀÌÅ©·Î¼ºñ½º, ¼ºñ½º ¹ß°ß, Restful API, ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷, ¸ð¹ü »ç·Ê¸¦ ¹è¿ì°Ô µÉ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ, ¿ø¼ÀÇ ¿À·ù¸¦ ¸ðµÎ ¹Ù·ÎÀâ°í ºÎÁ·ÇÑ ºÎºÐÀ» º¸°ÇÏ´Â µ¥ ½ÉÇ÷À» ±â¿ï¿´½À´Ï´Ù. ½ºÇÁ¸µ ÀÔ¹®ÀÚ¿Í ½ºÇÁ¸µ 5·Î ·¹º§¾÷ÇÏ·Á´Â ±âÁ¸ ½ºÇÁ¸µ »ç¿ëÀÚ ¸ðµÎ¿¡°Ô ÀÌ Ã¥Àº ¾È¼º¸ÂÃãÀÔ´Ï´Ù!
ÀÌ Ã¥ÀÇ ÁÖ¿ä ³»¿ë
¡á ¸®¾×Ƽºê ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÇϱâ
¡á À¥ ¾ÖÇø®ÄÉÀ̼ǰú RESTful À¥ ¼ºñ½º¸¦ À§ÇÑ ½ºÇÁ¸µ MVC »ç¿ë
¡á ½ºÇÁ¸µ º¸¾ÈÀ» »ç¿ëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È ó¸®
¡á ½ºÇÁ¸µ 5ÀÇ ÇÙ½É ÆľÇ
½ºÇÁ¸µ WebFlux µî ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö Áö¿øÀ» °ÈÇÑ ½ºÇÁ¸µ 5ÀÇ ¸ðµç °ÍÀ» Ž±¸ÇÑ´Ù!
½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©´Â ÀÚ¹Ù °³¹ßÀÚµéÀ» ´õ ÆíÇÏ°Ô ÇØÁÝ´Ï´Ù. ½ºÇÁ¸µ 5ÀÇ »õ·Î¿î ±â´ÉµéÀº ¸¶ÀÌÅ©·Î¼ºñ½º¿Í ¸®¾×Ƽºê ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß°ú °°Àº Çö´ëÀû ¾ÖÇø®ÄÉÀÌ¼Ç ¼³°è ½Ã¿¡ »ý»ê¼ºÀ» ³ô¿© ÁÝ´Ï´Ù. ÀÌÁ¦´Â ½ºÇÁ¸µ ºÎÆ®°¡ ¿ÏÀüÈ÷ ÅëÇÕµÇ¾î º¹ÀâÇÑ ÇÁ·ÎÁ§Æ®ÀÏÁö¶óµµ ÃÖ¼ÒÇÑÀÇ ±¸¼º ÄÚµå·Î ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, ÇÑÃþ ¾÷±×·¹À̵åµÈ WebFlux ÇÁ·¹ÀÓ¿öÅ©´Â ±âº»ÀûÀ¸·Î ¸®¾×Ƽºê ¾ÖÇø®ÄÉÀ̼ÇÀ» Áö¿øÇÕ´Ï´Ù.
¡º½ºÇÁ¸µ ÀÎ ¾×¼Ç(Á¦5ÆÇ)¡»Àº ½ºÇÁ¸µÀÇ ÇÙ½É ±â´ÉÀ» ¸íÄèÇÏ°Ô ¾Ë·Á ÁÝ´Ï´Ù. ÀÌ Ã¥À» ÅëÇØ ¿©·¯ºÐÀº µ¥ÀÌÅͺ£À̽º°¡ Áö¿øµÇ´Â À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¡ÁøÀûÀ¸·Î ¸¸µé¾î º¼ °ÍÀÔ´Ï´Ù. ±×·¯¸é¼ ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö, ¸¶ÀÌÅ©·Î¼ºñ½º, ¼ºñ½º ¹ß°ß, Restful API, ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷, ¸ð¹ü »ç·Ê¸¦ ¹è¿ì°Ô µÉ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ, ¿ø¼ÀÇ ¿À·ù¸¦ ¸ðµÎ ¹Ù·ÎÀâ°í ºÎÁ·ÇÑ ºÎºÐÀ» º¸°ÇÏ´Â µ¥ ½ÉÇ÷À» ±â¿ï¿´½À´Ï´Ù. ½ºÇÁ¸µ ÀÔ¹®ÀÚ¿Í ½ºÇÁ¸µ 5·Î ·¹º§¾÷ÇÏ·Á´Â ±âÁ¸ ½ºÇÁ¸µ »ç¿ëÀÚ ¸ðµÎ¿¡°Ô ÀÌ Ã¥Àº ¾È¼º¸ÂÃãÀÔ´Ï´Ù!
ÀÌ Ã¥ÀÇ ÁÖ¿ä ³»¿ë
¡á ¸®¾×Ƽºê ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÇϱâ
¡á À¥ ¾ÖÇø®ÄÉÀ̼ǰú RESTful À¥ ¼ºñ½º¸¦ À§ÇÑ ½ºÇÁ¸µ MVC »ç¿ë
¡á ½ºÇÁ¸µ º¸¾ÈÀ» »ç¿ëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È ó¸®
¡á ½ºÇÁ¸µ 5ÀÇ ÇÙ½É ÆľÇ