{"id":2193,"date":"2021-07-17T07:53:26","date_gmt":"2021-07-16T22:53:26","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2193"},"modified":"2021-07-26T23:10:41","modified_gmt":"2021-07-26T14:10:41","slug":"spring-boot-%ec%8b%9c%ec%9e%91%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2193","title":{"rendered":"Spring Boot \uc2dc\uc791\ud558\uae30"},"content":{"rendered":"<h1>Spring Boot \uc2dc\uc791\ud558\uae30<\/h1>\n<p>\uc544\ub798\uc758 \ub0b4\uc6a9\uc911 \uae30\ucd08\ud3b8\uc740 \uaf2d \uc77d\uc73c\uc2dc\uae38 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n<p>\uae30\ucd08\uc5d0\uc11c \uc124\uba85\ud55c \ub0b4\uc6a9\uc740 \uc774\ud6c4 \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c \uc911\ubcf5\uc73c\ub85c \uc124\uba85\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\uae30\ucd08<\/h2>\n<h3>Hello, World!<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2195\">Hello, World! \ud504\ub85c\uc81d\ud2b8 \uc0dd\uc131\ud558\uae30<\/a><\/p>\n<h3>RESTful Web Service<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2206\">RESTful Web Service \ud504\ub85c\uc81d\ud2b8 \uc0dd\uc131\ud558\uae30<\/a><\/p>\n<h3>Spring MVC Web Service<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2216\">Spring MVC Web Service \uc0dd\uc131\ud558\uae30<\/a><\/p>\n<h3>\ub514\ub809\ud1a0\ub9ac \uad6c\uc870<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/07\/2021-07-17-11.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/07\/2021-07-17-11.png\" alt=\"\" \/><\/a><\/p>\n<p>\uae30\ubcf8\uc801\uc73c\ub85c \uc2a4\ud504\ub9c1 \ubd80\ud2b8\ub294 \uad6c\ub3d9\uc2dc \ubaa8\ub4e0 \ud3f4\ub354\ub97c \ucc3e\uc544\uc11c, \uc5d0\ub108\ud14c\uc774\uc158 \ud655\uc778 \ud6c4 \ud544\uc694\ud55c \ud074\ub798\uc2a4\ub97c \uc2e4\ud589 \ub610\ub294 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub798\uc11c \uadf9\ub2e8\uc801\uc73c\ub85c \ud55c \ud3f4\ub354\uc5d0 \ubaa8\ub4e0 \ud074\ub798\uc2a4 \ud30c\uc77c\uc744 \ubab0\uc544 \ub123\uc5b4\ub3c4 \uc0c1\uad00\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud558\uc9c0\ub9cc, \uadf8\ub7ec\uba74 \uc0ac\ub78c(\uac1c\ubc1c\uc790) \uac00 \uac10\ub2f9\uc744 \ubabb\ud558\ubbc0\ub85c, \uc77c\uc815 \ud3f4\ub354\ub97c \ub9cc\ub4e4\uace0 \uadf8 \ud558\uc704\uc5d0 \uad00\ub828 \ud074\ub798\uc2a4\ub97c \ub123\ub294\uac8c \ubcf4\ud1b5\uc785\ub2c8\ub2e4.<\/p>\n<p><code>common<\/code> \ud3f4\ub354\uc5d0\ub294 \uc720\ud2f8\ub7ec\ud2f0\/\uc804\uc5ed\ubcc0\uc218 \uad00\ub828 \ud074\ub798\uc2a4\ub97c \ub123\ub294\uac8c \ubcf4\ud1b5\uc785\ub2c8\ub2e4.<\/p>\n<p><code>config<\/code> \ud3f4\ub354\uc5d0\ub294 <code>@Configuration<\/code> \uc5d0\ub108\ud14c\uc774\uc158\uc774 \ubd99\ub294 \ud074\ub798\uc2a4\ub97c \uc8fc\ub85c \ub123\uc2b5\ub2c8\ub2e4.<\/p>\n<p><code>domain<\/code> \ud3f4\ub354\uc5d0\ub294 <code>@Entity<\/code> \uc5d0\ub108\ud14c\uc774\uc158\uc774 \ubd99\ub294 \ud074\ub798\uc2a4\uc640 <code>Repository<\/code> \uc778\ud130\ud398\uc774\uc2a4\uac00 \ubcf4\ud1b5 \ub4e4\uc5b4\uac11\ub2c8\ub2e4.<\/p>\n<p><code>service<\/code> \ud3f4\ub354\uc5d0\ub294 <code>@Service<\/code> \uc5d0\ub108\ud14c\uc774\uc158\uc774 \ubd99\ub294 \ud074\ub798\uc2a4\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4.<\/p>\n<p><code>web<\/code> \ud3f4\ub354\uc5d0\ub294 <code>@Controller<\/code>, <code>@RestController<\/code> \uc5d0\ub108\ud14c\uc774\uc158\uc774 \ubd99\ub294 \ucee8\ud2b8\ub864\ub7ec \ud074\ub798\uc2a4\uac00 \ub4e4\uc5b4\uac11\ub2c8\ub2e4.<\/p>\n<h2>\ub370\uc774\ud0c0\ubca0\uc774\uc2a4<\/h2>\n<h3>JPA<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2229\">JPA \ub97c \uc774\uc6a9\ud55c \ub370\uc774\ud0c0 \uc5d1\uc138\uc2a4<\/a><\/p>\n<h3>MySQL<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2239\">MySQL \uc744 \uc774\uc6a9\ud55c \ub370\uc774\ud0c0 \uc5d1\uc138\uc2a4<\/a><\/p>\n<h3>Spring Data Couchbase<\/h3>\n<h3>\ud398\uc774\uc9d5<\/h3>\n<h3>\uba40\ud2f0 \ub370\uc774\ud0c0\uc18c\uc2a4<\/h3>\n<h2>\uba54\uc2dc\uc9d5<\/h2>\n<h3>JMS<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2247\">JMS \ub97c \uc774\uc6a9\ud55c \uba54\uc2dc\uc9d5<\/a><\/p>\n<h3>Kafka<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2251\">Kafka \ub97c \uc774\uc6a9\ud55c \uba54\uc2dc\uc9d5<\/a><\/p>\n<h3>Redis<\/h3>\n<h2>Spring Security<\/h2>\n<h3>\uc6f9\uc11c\ube44\uc2a4<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2258\">\uc6f9\uc11c\ube44\uc2a4\uc5d0 \ubcf4\uc548 \uc801\uc6a9<\/a><\/p>\n<h3>Spring Security with JDBC(UserDetailsService)<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2267\">Spring Security with JDBC(UserDetailsService)<\/a><\/p>\n<h2>Spring Boot and OAuth2<\/h2>\n<h3>\uac1c\ub150<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/07\/2021-07-18-01.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/07\/2021-07-18-01.png\" alt=\"\" \/><\/a><\/p>\n<h4>\uad6c\uc131\uc694\uc18c<\/h4>\n<ul>\n<li>\uace0\uac1d(User)<\/li>\n<li>\uc1fc\ud551\ubab0 \uc571(Client)<\/li>\n<li>\uc18c\ud551\ubab0 \uc11c\ubc84(Resource Server)<\/li>\n<li>\uc778\uc99d \uc11c\ubc84(Authorization Server)<\/li>\n<\/ul>\n<p>\uace0\uac1d\uc774 \uc1fc\ud551\ubab0 \uc571\uc73c\ub85c \uc790\uc2e0\uc758 \uad6c\uae00 \ub85c\uadf8\uc778 \uacc4\uc815\uc744 \uc774\uc6a9\ud574 \uc1fc\ud551\ubab0 \uc8fc\ubb38\ub0b4\uc5ed\uc744 \uc870\ud68c\ud558\ub824\uace0 \ud55c\ub2e4\uace0 \uac00\uc815\ud574 \ubd05\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub54c, \uace0\uac1d(User) \uc740 \uc1fc\ud551\ubab0 \uc571(Client) \uc5d0 \uc8fc\ubb38\ub0b4\uc5ed\uc870\ud68c\ub97c \uc694\uccad\ud558\uace0,<br \/>\n\uc1fc\ud551\ubab0 \uc571(Client) \uc740 \uace0\uac1d(User) \uc744 \uad6c\uae00 \uc778\uc99d \uc11c\ubc84\uc5d0 \ubcf4\ub0b4\uace0,<br \/>\n\uace0\uac1d\uc740 \uad6c\uae00 \uc778\uc99d \uc11c\ubc84(Authorization Server) \uc5d0 \ub85c\uadf8\uc778 \ud6c4,<br \/>\n\uc1fc\ud551\ubab0 \uc571\uc758 \uc694\uccad\uc744 \uc2b9\uc778\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc1fc\ud551\ubab0 \uc571\uc740 \uc778\uc99d\uc11c\ubc84\uac00 \ubcf4\ub0b8 \uc561\uc138\uc2a4\ud1a0\ud070\uc73c\ub85c \uc1fc\ud551\ubab0 \uc11c\ubc84(Resource Server) \uc5d0 \uc8fc\ubb38\ub0b4\uc5ed \uc870\ud68c\uc694\uccad\uc744 \ud558\uace0,<br \/>\n\uc1fc\ud551\ubab0 \uc11c\ubc84(Resource Server) \ub294 \uc561\uc138\uc2a4\ud1a0\ud070\uc73c\ub85c \uc778\uc99d\uc11c\ubc84\uc5d0 \uc720\ud6a8\uc131 \uac80\uc99d\uc744 \uc694\uccad\ud558\uace0,<br \/>\n\uc778\uc99d\uc11c\ubc84 \uc2b9\uc778 \ud6c4 \uace0\uac1d\uc5d0\uac8c \uc8fc\ubb38\ub0b4\uc5ed\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<h3>Authorization Server<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2294\">Spring Boot OAuth2 Authorization Server \uad6c\ucd95<\/a><\/p>\n<h3>Resource Server<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2405\">Spring Boot OAuth2 Resource Server \uad6c\ucd95<\/a><\/p>\n<h3>Client<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2367\">Spring Boot Oauth2 Client<\/a><\/p>\n<h2>Spring Cache<\/h2>\n<h3>Spring Cache with Redis<\/h3>\n<h3>Spring Cache Couchbase<\/h3>\n<h2>Spring Session<\/h2>\n<h3>Spring Boot Session Security<\/h3>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2444\">Spring Boot Session Security<\/a><\/p>\n<h3>Spring Session with Redis<\/h3>\n<h3>Spring Session JDBC<\/h3>\n<h2>Spring REST Docs<\/h2>\n<h2>Spring Batch<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot \uc2dc\uc791\ud558\uae30 \uc544\ub798\uc758 \ub0b4\uc6a9\uc911 \uae30\ucd08\ud3b8\uc740 \uaf2d \uc77d\uc73c\uc2dc\uae38 \ubc14\ub78d\ub2c8\ub2e4. \uae30\ucd08\uc5d0\uc11c \uc124\uba85\ud55c \ub0b4\uc6a9\uc740 \uc774\ud6c4 \ud29c\ud1a0\ub9ac\uc5bc\uc5d0\uc11c \uc911\ubcf5\uc73c\ub85c \uc124\uba85\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uae30\ucd08 Hello, World! Hello, World! \ud504\ub85c\uc81d\ud2b8 \uc0dd\uc131\ud558\uae30 RESTful Web Service RESTful Web Service \ud504\ub85c\uc81d\ud2b8 \uc0dd\uc131\ud558\uae30 Spring MVC Web Service Spring MVC Web Service \uc0dd\uc131\ud558\uae30 \ub514\ub809\ud1a0\ub9ac \uad6c\uc870 \uae30\ubcf8\uc801\uc73c\ub85c \uc2a4\ud504\ub9c1 \ubd80\ud2b8\ub294 \uad6c\ub3d9\uc2dc \ubaa8\ub4e0 \ud3f4\ub354\ub97c \ucc3e\uc544\uc11c, \uc5d0\ub108\ud14c\uc774\uc158 \ud655\uc778 \ud6c4 \ud544\uc694\ud55c \ud074\ub798\uc2a4\ub97c\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=2193\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-2193","post","type-post","status-publish","format-standard","hentry","category-spring-boot-2-5"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2193"}],"version-history":[{"count":30,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2193\/revisions"}],"predecessor-version":[{"id":2456,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2193\/revisions\/2456"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}