Ã¥¼Ò°³
¡Ú ±¸Çö ¼ø¼¿¡ ¸ÂÃç ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ¸ç ¹è¿ì´Â ½ÇÀü ÀÔ¹®¼¡Ú ÀÌ Ã¥Àº ½ºÇÁ¸µ ºÎÆ® ÀÔ¹®ÀÚÀÇ ´«³ôÀÌ¿¡ ¸ÂÃç ½ºÇÁ¸µ ºÎÆ® ȯ°æ ¼³Á¤ºÎÅÍ Ä¿¹Â´ÏƼ °Ô½ÃÆÇ ±¸Çö±îÁö¸¦ ´Ù·é´Ù. ½ºÇÁ¸µ ºÎÆ®ÀÇ ±âº» °³³ä°ú ´Ù¾çÇÑ ½ºÇÁ¸µ ºÎÆ® ½ºÅ¸Å͸¦ ÀÌ¿ëÇØ Ä¿¹Â´ÏƼ °Ô½ÃÆÇ ±¸Ãà ÇÁ·ÎÁ§Æ®¸¦ ±¸ÇöÇÑ´Ù. ½ºÇÁ¸µÀ» ¸ô¶óµµ °øºÎÇÒ ¼ö ÀÖµµ·Ï °¡´ÉÇÑ ÇÑ ½±°Ô ¼³¸íÇÏ°í µû¶ó ÇÒ ¼ö ÀÖ°Ô ¿¹Á¦ ÄÚµå¿Í ±×¸²À» Á¦½ÃÇß´Ù.* ¹°·Ð ÀÚ¹Ù¸¦ »ç¿ëÇÒ ÁÙÀº ¾Ë¾Æ¾ß ÇÑ´Ù.
¸ñÂ÷
CHAPTER 1 ½ºÇÁ¸µ ºÎÆ® ÀÔ¹®Çϱâ1.1 ½ºÇÁ¸µ ºÎÆ® ¼Ò°³1.1.1 ½ºÇÁ¸µ ºÎÆ® Ư¡1.1.2 ½ºÇÁ¸µ ºÎÆ®¿Í ½ºÇÁ¸µ1.2 Ä¿¹Â´ÏƼ °Ô½ÃÆÇ ±â´É °í¾ÈÇϱâ1.3 ½ºÇÁ¸µ ºÎÆ®·Î Ä¿¹Â´ÏƼ °Ô½ÃÆÇ ¼³°èÇϱâ1.4 ½ºÇÁ¸µ ºÎÆ® ½ºÅ¸ÅÍ µé¿©´Ùº¸±â1.4.1 ½ºÅ¸ÅÍÀÇ ¸í¸í±ÔÄ¢ ¾Ë¾Æº¸±â1.4.2 ½ºÅ¸ÅÍ ³»ºÎÀÇ ÀÇÁ¸¼º È®ÀÎ ¹æ¹ý1.4.3 ½ºÅ¸ÅÍ¿¡ ¸í½ÃµÈ ¹öÀüÀº ¾î¶»°Ô È®ÀÎÇÒ±î?1.4.4 ½ºÇÁ¸µ ºÎÆ® ¹öÀü¿¡ µû¶ó ¹«¾ùÀÌ ´Ù¸¥Áö ¾î¶»°Ô ¾Ë ¼ö ÀÖÀ»±î?1.4.5 ÀÌ Ã¥¿¡¼ ´Ù·ê ½ºÅ¸ÅÍ1.4.6 ½ºÇÁ¸µ ºÎÆ® Àå´ÜÁ¡1.5 ¸¶Ä¡¸çCHAPTER 2 ½ºÇÁ¸µ ºÎÆ® ȯ°æ ¼³Á¤2.1 JDK ¼³Ä¡Çϱâ2.2 ÀÎÅÚ¸®Á¦ÀÌ IDEA »ç¿ëÇϱâ2.2.1 Ä¿¹Â´ÏƼ ¹öÀü°ú ¾óƼ¹ÌÆ® ¹öÀü2.2.2 Ä¿¹Â´ÏƼ ¹öÀü¿¡¼ ½ºÇÁ¸µ ºÎÆ® »ç¿ëÇϱâ2.2.3 ¾óƼ¹ÌÆ® ¹öÀü¿¡¼ ½ºÇÁ¸µ ºÎÆ® »ç¿ëÇϱâ2.3 ±×·¹ÀÌµé ¼³Ä¡ ¹× ºôµåÇϱâ2.3.1 ±×·¹ÀÌµé ·¡ÆÛ2.3.2 ±×·¹ÀÌµé ¸ÖƼ ÇÁ·ÎÁ§Æ® ±¸¼ºÇϱâ2.4 ȯ°æ ÇÁ·ÎÆÛƼ ÆÄÀÏ ¼³Á¤Çϱâ2.4.1 ÇÁ·ÎÆÄÀÏ¿¡ µû¸¥ ȯ°æ ±¸¼º ºÐ¸®2.4.2 YAML ÆÄÀÏ ¸ÅÇÎÇϱâ2.5 ÀÚµ¿ ȯ°æ ¼³Á¤ ÀÌÇØÇϱâ2.5.1 ÀÚµ¿ ȯ°æ ¼³Á¤ ¾î³ëÅ×À̼Ç2.5.2 @EnableAutoConfiguration »ìÆ캸±â2.5.3 ÀÚµ¿ ¼³Á¤ ¾î³ëÅ×ÀÌ¼Ç »ìÆ캸±â2.5.4 H2 Console ÀÚµ¿ ¼³Á¤ Àû¿ëÇϱâ2.6 ¸¶Ä¡¸çCHAPTER 3 ½ºÇÁ¸µ ºÎÆ® Å×½ºÆ®3.1 @SpringBootTest3.2 @WebMvcTest3.3 @DataJpaTest3.4 @RestClientTest3.5 @JsonTest3.6 ¸¶Ä¡¸çCHAPTER 4 ½ºÇÁ¸µ ºÎÆ® À¥4.1 Ä¿¹Â´ÏƼ °Ô½ÃÆÇ ¼³°èÇϱâ4.2 Ä¿¹Â´ÏƼ °Ô½ÃÆÇ ÇÁ·ÎÁ§Æ® ÁغñÇϱâ4.3 Ä¿¹Â´ÏƼ °Ô½ÃÆÇ ±¸ÇöÇϱâ4.3.1 ÇÁ·ÎÁ§Æ® ÀÇÁ¸¼º ±¸¼º4.3.2 ½ºÇÁ¸µ ºÎÆ® À¥ ½ºÅ¸ÅÍ »ìÆ캸±â4.3.3 µµ¸ÞÀÎ ¸ÅÇÎÇϱâ4.3.4 µµ¸ÞÀÎ Å×½ºÆ®Çϱâ4.3.5 CommandLineRunner¸¦ »ç¿ëÇÏ¿© DB¿¡ µ¥ÀÌÅÍ ³Ö±â4.3.6 °Ô½Ã±Û ¸®½ºÆ® ±â´É ¸¸µé±â4.3.7 ŸÀÓ¸®ÇÁ ÀÚ¹Ù 8 ³¯Â¥ Æ÷¸Ë ¶óÀ̺귯¸® Ãß°¡Çϱâ4.3.8 ÆäÀÌ¡ ó¸®Çϱâ4.3.9 ÀÛ¼º Æû ¸¸µé±â4.4 ¸¶Ä¡¸çCHAPTER 5 ½ºÇÁ¸µ ºÎÆ® ½ÃÅ¥¸®Æ¼ OAuth25.1 ¹è°æÁö½Ä ¼Ò°³5.1.1 ½ºÇÁ¸µ ºÎÆ® ½ÃÅ¥¸®Æ¼5.1.2 OAuth25.2 ½ºÇÁ¸µ ºÎÆ® ½ÃÅ¥¸®Æ¼ OAuth2 ¼³°èÇϱâ5.3 ½ºÇÁ¸µ ºÎÆ® ½ÃÅ¥¸®Æ¼ OAuth2 ÀÇÁ¸¼º ¼³Á¤Çϱâ5.4 ½ºÇÁ¸µ ºÎÆ® ½ÃÅ¥¸®Æ¼ OAuth2 ±¸ÇöÇϱâ5.4.1 SNS ÇÁ·ÎÆÛƼ ¼³Á¤ ¹× ¹ÙÀεù5.4.2 ½ÃÅ¥¸®Æ¼ OAuth2 ¼³Á¤Çϱâ5.4.3 ¾î³ëÅ×ÀÌ¼Ç ±â¹ÝÀ¸·Î User Á¤º¸ ºÒ·¯¿À±â5.4.4 ÀÎÁõ µ¿ÀÛ È®ÀÎÇϱâ5.4.5 ÆäÀÌÁö ±ÇÇÑ ºÐ¸®Çϱâ5.5 ½ºÇÁ¸µ ºÎÆ® 2.0 ±â¹ÝÀÇ OAuth2 ¼³Á¤Çϱâ5.5.1 ½ºÇÁ¸µ ºÎÆ® 2.0 ¹öÀüÀ¸·Î ÀÇÁ¸¼º ¾÷±×·¹À̵å5.5.2 ½ºÇÁ¸µ ºÎÆ® 2.0 ¹æ½ÄÀÇ OAuth2 ÀÎÁõ Àç¼³Á¤5.6 ¸¶Ä¡¸çCHAPTER 6 ½ºÇÁ¸µ ºÎÆ® µ¥ÀÌÅÍ ·¹½ºÆ®6.1 ¹è°æÁö½Ä6.1.1 REST ¼Ò°³6.1.2 RESTful Á¦¾à Á¶°Ç6.1.3 REST API ¼³°èÇϱâ6.2 ¼³°èÇϱâ6.2.1 MVC ÆÐÅÏÀ» È°¿ëÇÏ´Â ¹æ¹ý6.2.2 ½ºÇÁ¸µ ºÎÆ® µ¥ÀÌÅÍ ·¹½ºÆ®¸¦ È°¿ëÇÏ´Â ¹æ¹ý6.3 ½ºÇÁ¸µ ºÎÆ® MVC ÆÐÅÏÀ¸·Î REST API ±¸ÇöÇϱâ6.3.1 ÁغñÇϱâ6.3.2 REST API ±¸ÇöÇϱâ6.3.3 CORS Çã¿ë ¹× ½ÃÅ¥¸®Æ¼ ¼³Á¤6.3.4 »ý¼º, ¼öÁ¤, »èÁ¦ ±¸Çö6.3.5 µ¿ÀÛ È®ÀÎ6.4 ½ºÇÁ¸µ ºÎÆ® µ¥ÀÌÅÍ ·¹½ºÆ®·Î REST API ±¸ÇöÇϱâ6.4.1 ÁغñÇϱâ6.4.2 ±âº» ³ëÃâ Àü·« »ìÆ캸±â6.4.3 ½ºÇÁ¸µ ºÎÆ® µ¥ÀÌÅÍ ·¹½ºÆ®·Î REST API ±¸ÇöÇϱâ6.4.4 @RepositoryRestController¸¦ »ç¿ëÇÏ¿© REST API ±¸ÇöÇϱâ6.4.5 »ý¼º, ¼öÁ¤, »èÁ¦ ¿¬µ¿ Å×½ºÆ®6.4.6 ÇÁ·ÎÁ§¼ÇÀ¸·Î ³ëÃâ Çʵå Á¦ÇÑÇϱâ6.4.7 °¢ ¸Þ¼µå ±ÇÇÑ Á¦ÇÑ6.4.8 À̺¥Æ® ¹ÙÀεù6.4.9 URI ó¸®6.4.10 HAL ºê¶ó¿ìÀú Àû¿ëÇϱâ6.5 ¸¶¹«¸®CHAPTER 7 ½ºÇÁ¸µ ºÎÆ® ¹èÄ¡7.1 ¹è°æÁö½Ä7.1.1 ¹èÄ¡ 󸮿¡ ½ºÇÁ¸µ ºÎÆ® ¹èÄ¡¸¦ ½á¾ß ÇÏ´Â ÀÌÀ¯7.1.2 ½ºÇÁ¸µ ºÎÆ® ¹èÄ¡ 2.07.1.3 ½ºÇÁ¸µ ºÎÆ® ¹èÄ¡ ÁÖÀÇ»çÇ×7.2 ½ºÇÁ¸µ ºÎÆ® ¹èÄ¡ ÀÌÇØÇϱâ7.2.1 Job7.2.2 Step7.2.3 JobRepository7.2.4 JobLauncher7.2.5 ItemReader7.2.6 ItemProcessor7.2.7 ItemWriter7.3 ½ºÇÁ¸µ ºÎÆ® ÈÞ¸éȸ¿ø ¹èÄ¡ ¼³°èÇϱâ7.4 ½ºÇÁ¸µ ºÎÆ® ¹èÄ¡ ¼³Á¤Çϱâ7.5 ½ºÇÁ¸µ ºÎÆ® ÈÞ¸éȸ¿ø ¹èÄ¡ ±¸ÇöÇϱâ7.5.1 ÈÞ¸éȸ¿ø ¹èÄ¡ Å×½ºÆ® ÄÚµå »ý¼º7.5.2 ÈÞ¸éȸ¿ø ¹èÄ¡ Á¤º¸ ¼³Á¤7.5.3 SQL·Î Å×½ºÆ® µ¥ÀÌÅÍ ÁÖÀÔÇϱâ7.6 ½ºÇÁ¸µ ¹èÄ¡ ½ÉÈÇнÀ7.6.1 ´Ù¾çÇÑ ItemReader ±¸Çö Ŭ·¡½º7.6.2 ´Ù¾çÇÑ ItemWriter ±¸Çö Ŭ·¡½º7.6.3 JobParameter »ç¿ëÇϱâ7.6.4 Å×½ºÆ® ½Ã¿¡¸¸ H2 µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤Çϱâ7.6.5 ûũ ÁöÇâ ÇÁ·Î¼¼½Ì7.6.6 ¹èÄ¡ÀÇ ÀÎÅͼÁÅÍ Listener ¼³Á¤Çϱâ7.6.7 ¾î³ëÅ×ÀÌ¼Ç ±â¹ÝÀ¸·Î Listener ¼³Á¤Çϱâ7.6.8 StepÀÇ È帧À» Á¦¾îÇÏ´Â Flow7.7 ¸ÖƼ ½º·¹µå·Î ¿©·¯ °³ÀÇ Step ½ÇÇàÇϱâ7.7.1 TaskExecutor¸¦ »ç¿ëÇØ ¿©·¯ Step µ¿ÀÛ½ÃÅ°±â7.7.2 ¿©·¯ °³ÀÇ Flow ½ÇÇà½ÃÅ°±â7.7.3 ÆÄƼ¼Å´×À» »ç¿ëÇÑ º´·Ä ÇÁ·Î±×·¡¹Ö7.8 ¸¶¹«¸®ºÎ·Ï A ÄÚµå ´ÙÀ̾îÆ®¸¦ À§ÇÑ ·Òº¹ ÇÁ·ÎÁ§Æ® ºÎ·Ï B ÀÚµ¿À¸·Î LiveReloadÇÏ´Â devtools ºÎ·Ï C ½ºÇÁ¸µ ºÎÆ® ºôµå¿Í ¹èÆ÷ ºÎ·Ï D Ä¿½ºÅÒ ¹è³Ê ¼³Á¤ÇÏ±â ºÎ·Ï E ÆäÀ̽ººÏ, ±¸±Û, Ä«Ä«¿À °³¹ßÀÚ¼¾ÅÍ ¿¬µ¿