ããã¯ãšã³ãéçºè
ã®ããã®ã¹ããªã³ã°ããŒããšã³ããã¬ãŒãçïŒ
å®åã«å¿
èŠãªå
容ããã¹ãŠåããŸããã
ãã ã»ãšã³ãã³ã®ã¹ããªã³ã°å®å
šåŸæã·ãªãŒãºå®çµïŒ
ã¹ããªã³ã°å
¥éãã¹ãã»ã©ãŒè¬çŸ©å
š9ç·šæ§æ
ð©æ¬è¬çŸ©ã¯ããã ã»ãšã³ãã³ã®ã¹ããªã³ã°å®å
šåŸæã·ãªãŒãºãæåŸã®è¬çŸ©ã§ããã¹ããªã³ã°ãåããŠã®æ¹ã¯ãåè¬åã«åªé
ãªå
åŒãã¡æå¹Žå°æè¡çäºãã ã»ãšã³ãã³ã®ã¹ããªã³ã°å®å
šåŸæããŒããããããŸã確èªããŠãã ããã ïŒããŒããããã®ã·ã§ãŒãã«ããïŒ
ã¹ããªã³ã°ããŒããç»å ŽãããŸã§
ã¹ããªã³ã°ãã¬ãŒã ã¯ãŒã¯ã®æé·
Spring Frameworkã¯ãéå»20幎éã«çºå±ããŠããéåžžã«å·šå€§ãªæè¡ã§ãã
å®åã§çºçããã»ãšãã©ã®æè¡åé¡ã解決ããé«ãå®å®æ§ãšæè»æ§ãæäŸããŸããã ãããJavaã䜿çšããŠããã»ãšãã©ã®ã¡ãžã£ãŒäŒç€Ÿã¯ã¹ããªã³ã°ã䜿çšããŠããŸãã Springã¯Java Jin Youngã§äœ¿çšãããäºå®äžæšæºçãªæè¡ã§ãã
巚倧ã§äžå¿«ãªã¹ããªã³ã°ãã¬ãŒã ã¯ãŒã¯
ãšããã§ãSpring Frameworkã¯æ©èœãå€ãããŠåºç¯å²ãªã®ã§ãã©ãããã©ã®ããã«å§ããã¹ãããçµããŠããŸãã
ãŸããããŸãã«ãå€ãã®æè»æ§ãæäŸãããããã©ã®ãã¯ãããžãäžç·ã«äœ¿çšããããéžæããã®ã¯å°é£ã§ããæ©èœããŸããŸãå¢å ããã«ã€ããŠãããå€ãã®èšå®ãå¿
èŠã«ãªãå§ããŸãããã ããå€ãã®éçºè
ã¯ãã¹ããªã³ã°ã¯éããŠäžå¿«ã ãšæãå§ããŸããã
ã¹ããªã³ã°ããŒã - ã¹ããªã³ã°æè¡ã®å®æ
Spring Bootã¯ããã®ãŸãŸããŒãããèµ·åããŸããã¹ããªã³ã°ããŒãã¯ãã¹ããªã³ã°ãéåžžã«ç°¡åãã€äŸ¿å©ã«èµ·åããã®ã«åœ¹ç«ã€æè¡ã§ãéçºè
ã«å€æ°ã®äŸ¿å©ãªæ©èœãæäŸããŸããã¹ããªã³ã°ããŒãã®ç»å Žã§ã巚倧ã§äžå¿«ã«ããæããããªãã£ãã¹ããªã³ã°ããšãŠãç°¡åã§äŸ¿å©ã«å§ããããããã«ãªããŸããã
ä»ã¹ããªã³ã°ã«é²ãã»ãšãã©ã®ãããžã§ã¯ãã¯ãã¹ããªã³ã°ããŒããå¿
é ã«ããŠããŸããã¹ããªã³ã°æè¡ã¯ã¹ããªã³ã°ããŒãã®ç»å Žã§åããŠå®æããŸããã
Spring BootãæäŸãã5ã€ã®éèŠãªæ©èœ
Spring Bootã¯5ã€ã®éèŠãªæ©èœãæäŸããSpringãã¬ãŒã ã¯ãŒã¯ã䟿å©ã«äœ¿çšããã®ã«åœ¹ç«ã¡ãŸããä»åã®è¬çŸ©ããã®5ã€ã®ã³ã¢æ©èœã«éäžããŸãã
01
çµã¿èŸŒã¿ãµãŒããŒ
å¥ã®ãµãŒããŒãã€ã³ã¹ããŒã«ããããšãªããç°¡åã«Webã¢ããªã±ãŒã·ã§ã³ãéçºããã³ãããã€ã§ããŸãã
02
èªåã©ã€ãã©ãªç®¡ç
倿°ã®ã©ã€ãã©ãªããã¹ããã©ã¯ãã£ã¹ã«åºã¥ããŠèªåçã«éžæããŠç®¡çããããšã§ããããžã§ã¯ãããã°ããç°¡åã«èµ·åã§ããŸãã
03
èªåèšå®
è€éãªã¹ããªã³ã°èšå®ãèªååããããšã§ãéçºè
ã¯ç°¡åãã€è¿
éã«ã¢ããªã±ãŒã·ã§ã³ãéçºã§ããŸãã
04
å€éšèšå®
ã¢ããªã±ãŒã·ã§ã³ãéçºç°å¢âãªãã¬ãŒãã£ã³ã°ç°å¢ãªã©ãããŸããŸãªç°å¢ã§äœ¿çšãããšãã«å¿
èŠãªå€éšèšå®ãç°¡åã«ç
§äŒã§ããŸãã
05
ã¢ãã¿ãªã³ã°ïŒç®¡çæ©èœ
ã¢ããªã±ãŒã·ã§ã³ã®å€æ°ã®ææšãèªåçã«åé/ç£èŠ/管çããæ©èœãæäŸããŸãã
ã¹ããªã³ã°æè¡ããã匷åã«
5ã€ã®ã¹ããªã³ã°ããŒãã³ã¢æ©èœãã¹ã¿ãŒ
å®éã«äœ¿çšããã¹ããªã³ã°ããŒãã®éèŠãªæ©èœããµã³ãã«ã³ãŒãã§ç¿åŸã§ããããã«ãç¥ããããŸãã
è¬çŸ©ç®æš
å®åã«å¿
èŠãªã¹ããªã³ã°ããŒããå·ã®ã²ãšã€ã«ãŸãšããŠãå±ãããŸãã
Spring Bootã¯éåžžã«äŸ¿å©ã§ãããå€çš®å€æ§ãªæ©èœãæäŸããŸããã©ã³ãã ã«åºãåŠã°ãªããŠããŸãããŸãã«ãæ·±ãå
¥ã£ãŠãå®åã«å€§ãã圹ã«ç«ã¡ãŸãããããã§ãå®åã§éèŠã«èããæ žå¿åçãšããäœ¿ãæ©èœãããµã³ãã«ã³ãŒããéããŠèªç¶ã«çè§£ã§ããããã«è¬çŸ©ãæºåããŸããã
éèŠã§ã¯ãªãæ©èœãå®åã§é »ç¹ã«äœ¿çšããªãæ©èœã¯ã倧èã«é€å€ããŸããããããŠãå€ãã®æ¹ã
ãæ°ã«ãªãã¹ããªã³ã°ããŒããæŽ»çšãã广çãªã¢ãã¿ãªã³ã°æ¹æ³ãäžç·ã«å«ããŸããã
ãµã³ãã«ã³ãŒãã䜿çšãããšãèªç¶ã«åçãçè§£ããããšãã§ããŸãã
ããªãã¯ãµã³ãã«ã³ãŒããéããŠèªç¶ã«Spring Bootã®éæ³ã®ååãçè§£ããããšãã§ããŸãããã®ã¬ãã¹ã³ã¯ã¹ããªã³ã°ããŒãããªãã£ãé ããå§ãŸããŸãããããŠãåŸã
ã«ã¹ããªã³ã°ããŒããå°å
¥ããªãããã¹ããªã³ã°ããŒãã®éèŠãªæŠå¿µãšåŒ·ã¿ãã³ãŒããéããŠèªç¶ã«çè§£ããããšãã§ããŸãã
ããã¯ãšã³ãéçºå®åã§å¿
èŠãªã¹ããªã³ã°ããŒããè€éãªçè«ã®ä»£ããã«ããµã³ãã«ã³ãŒããå®è£
ããéçšãéããŠåçãèªç¶ã«çè§£ã§ããããã«å®åãã¹ããã©ã¯ãã£ã¹ãäŒæããŸãã
ð¢æ³šæïŒã¹ããªã³ã°ãåŠãã çµéšãããæ¹ã«é©ããã³ãŒã¹ã§ãã
- Spring Bootã¯ãSpringãã¬ãŒã ã¯ãŒã¯ã䟿å©ã«äœ¿çšããã®ã«åœ¹ç«ã€æè¡ã§ãããããã£ãŠãã¹ããªã³ã°ãã¬ãŒã ã¯ãŒã¯ãæåã«åŠç¿ããããšãããéèŠã§ãããã®ã¬ãã¹ã³ã§ã¯ãã¹ããªã³ã°ã§ã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã§ã¯ãªããã¹ããªã³ã°ããŒãèªäœã®æ©èœã«çŠç¹ãåœãŠãŸãããããŠãããªããæ¥ãåŠãã çµéšããããšããŸãã
- ãŸã ã¹ããªã³ã°ã«æ
£ããŠããªãå Žåãã¹ããªã³ã°ãæåããåŠç¿ãããå Žåã¯ã ãã ã»ãšã³ãã³ã®ã¹ããªã³ã°å®å
šåŸæããŒãããããåç
§ããŠãã ããã
- ãã®ã¬ãã¹ã³ã¯ãSpring Boot 3.0ãSpring Framework 6ããŒãžã§ã³ã«åºã¥ããŠäœæãããŸããã
åãæ±ãå
容
ð¡ã¹ããªã³ã°ããŒããã³ãŒãã§ç°¡åã«ããªãããæ·±ãçè§£ãããããã¯ãšã³ãéçºè
ãå°±è·æºåçã®ããã®è¬çŸ©ã§ããããã ãã§ãªãããã§ã«å®åã§ã¹ããªã³ã°ããŒãã䜿çšããŠããŸãããã¹ããªã³ã°ããŒãã®æ žå¿åçããã£ããçè§£ãã䜿ãããæ¹ã«ã圹ç«ã€å
å®¹ã§æ§æãããŠããŸãã
Spring Bootã«ã€ããŠïŒSpring vs Spring Boot
ã¹ããªã³ã°ããŒããç»å Žããçç±ãšã¹ããªã³ã°ããŒãå
šè¬ã«ã€ããŠç޹ä»ããŸãã
Spring BootãšWebãµãŒããŒ
éå»ã«æ»ã£ãŠ Tomcat ã®ãã㪠Web ãµãŒããŒãçŽæ¥ã€ã³ã¹ããŒã«ããWeb ã¢ããªã±ãŒã·ã§ã³ã WAR ãã¡ã€ã«ãšããŠãã«ãããŠãããã€ããæ¹æ³ãããä»ã®ããã« Spring Boot ãšçµã¿èŸŒã¿ã® Tomcat ã䜿ã£ãŠ JAR ãã¡ã€ã« 1 ã€ãšããŠäŸ¿å©ã« Web ãµãŒããŒã䜿çšããæ¹æ³ã段éçã«èª¬æããŸããã©ã®ãããªçç±ã§ãã®ããã«çºå±ããŠããã®ãçè§£ãããã®éçšã®äžã§èªç¶ã«ã¹ããªã³ã°ããŒãã®å
èµãµãŒããŒãã©ã®ããã«åäœããã®ãåçãçè§£ããããšã«ãªããŸãã
ã¹ããªã³ã°ããŒãã¹ã¿ãŒã¿ãŒïŒã©ã€ãã©ãªç®¡ç
ããŸããŸãªã©ã€ãã©ãªãçŽæ¥éžæããŠç®¡çããæ¹æ³ã®é£ãããåŠã³ãSpring Bootããã®åé¡ãã©ã®ããã«è§£æ±ºããããåŠã³ãŸãããŸããSpring Boot Starter Libraryã«ã€ããŠãåŠã³ãŸãã
èªåæ§æ (Auto Configuration)
Spring Bootã¯å€æ°ã®æ©èœãèªååããŸããæã代衚çãªæ©èœã¯ãèªåæ§æã§ãããã®æ©èœã®ãããã§ãéçºè
ã¯å€æ°ã®ã¹ããªã³ã°ãã³ãçŽæ¥ç»é²ããå¿
èŠã¯ãããŸãããããããã©ã®åçã§èªåæ§æã«ãªãã®ãåãããªããšãSpring Bootã䜿çšããŠåé¡ãçºçãããšãã«æ ¹æ¬çãªåé¡ã解決ããã®ã¯é£ããã§ãã
è¬çŸ©ã§ã¯ãã¹ããªã³ã°ããŒãã®éèŠãªæ©èœãšèšããèªåæ§æã®åçãäŸããç°¡åã«çè§£ã§ããŸãããããŠããããã®èªåèšå®ãèªåã§äœæããŠæäŸããæ¹æ³ãåŠã³ãŸãã
å€éšèšå®ãšãããã¡ã€ã«
Spring Bootãªãã§çŽæ¥å€éšèšå®ã䜿çšããæ¹æ³ããå§ããŸãã ïŒOSç°å¢å€æ°ãJavaã·ã¹ãã ã®ããããã£ãã³ãã³ãã©ã€ã³åŒæ°ãªã©ïŒãããŠããã®ããã«çŽæ¥å€éšèšå®ã䜿çšãããšãã«çºçããåé¡ãåŠã³ãSpring Bootããããã®åé¡ãã©ã®ããã«è§£æ±ºããããæ®µéçã«åŠç¿ããŸããããã«ãEnvironmentã@Valueã@ConfigurationProperties ã®ç»å Žã®çç±ãšæŽ»çšæ³ãäŸãéããŠåŠç¿ããŸãã
ã¹ããªã³ã°ããŒãã¢ã¯ãã¥ãšãŒã¿
å®éã®éçšç°å¢ã§ãµãŒãã¹ãéå¶ããã«ã¯ãåçŽãªæ©èœèŠä»¶ãè¶
ããŠã¢ããªã±ãŒã·ã§ã³ãç£èŠããããšãéåžžã«éèŠã§ããã¹ããªã³ã°ããŒãã¢ã¯ãã¥ãšãŒã¿ãæäŸããããŸããŸãªæ©èœãšç£èŠæ©èœãåŠç¿ããŸãã
ãã€ã¯ãã¡ãŒã¿ãããã¡ããŠã¹ãã°ã©ãã¡ããæŽ»çšããã¢ãã¿ãªã³ã°
ãæŠéã§å€±æããææ®å®ã¯èš±ãããšãã§ããŸãããå¢çã§å€±æããææ®å®ã¯èš±ããªãããšããèšèããããŸãããã®èšèããµãŒãã¹ãéå¶ããéçºè
ã«ç
§ãããŠã¿ããšãé害ã¯ãã€ã§ãçºçããå¯èœæ§ããããŸãããããã ãã¢ãã¿ãªã³ã°ãããŸãè¡ãå¿
èŠããããšããæå³ã§ãã
æè¿ã®å®åã§äž»ã«ãã䜿ãããã¢ãã¿ãªã³ã°ããŒã«ã§ããããã¡ããŠã¹ãšã°ã©ãã¡ããæŽ»çšããŠãã©ã®ããã«ã¢ãã¿ãªã³ã°ç°å¢ãæ§ç¯ãããã«ã€ããŠèª¬æããŸãããã®ããã«æ§ç¯ããã¢ãã¿ãªã³ã°ç°å¢ã§ãå®éã®CPUãã¡ã¢ãªãDBã³ãã¯ã·ã§ã³ã®äœ¿çšãå¢ãããªãããã¢ãã¿ãªã³ã°ããŒã«ãéããŠåé¡ãææ¡ããæ¹æ³ãåŠã³ãŸãã
ã¢ãã¿ãªã³ã°ã®æŽ»çš
ç£èŠã«å¿
èŠãªææšãã¢ããªã±ãŒã·ã§ã³ã«çŽæ¥æ€ããç£èŠããã·ã¥ããŒããä»ããŠç¢ºèªããæ¹æ³ã説æããŸãããã€ã¯ãã¡ãŒã¿ãšãã䟿å©ãªããŒã«ã䜿ã£ãŠãã¢ãããŒã·ã§ã³äžã€ã§è¿œè·¡ãããããžãã¹ããžãã¯ã®åŒã³åºãæ°ãå¹³åå®è¡æéãæå€§å®è¡æéãæž¬å®ããæ¹æ³ãåŠã³ãŸãããããŠå®åã§æ£ããã¢ãã¿ãªã³ã°ããæ¹æ³ããç¥ããããŸãã
å®åã«äœ¿ãããã¹ããªã³ã°ã³ã¢ãã¹ã¿ãŒ
ã¹ããªã³ã°å®å
šåŸæã·ãªãŒãºæçµç·š
ããããåŠç¿è
ã¹ããªã³ã°ã«åããŠæ¥ããããã¯ãšã³ãéçºè
å°±è·æºåç
ã¹ããªã³ã°ãå匷ãã«ããããããããçµéšã®ããéçºè
ã¹ããªã³ã°ã®æ žå¿åçããã¡ããšçè§£ãããå®åè
ãµãŒããŒéçºãããŸãè¡ã£ãJavaããã¯ãšã³ãéçºè
誰ã§ãOK
ãã®è¬çŸ©ã¯ã ã¹ããªã³ã°å®å
šåŸæã·ãªãŒãºããçµããããæåŸã®è¬çŸ©ã§ããæ¬ããŒããããã¯ãã¹ããªã³ã°åŸæãç®æãJavaããã¯ãšã³ãéçºè
ã察象ã«ãå®éã®å®åã«äœ¿ãããã¹ããªã³ã°ã®æ žå¿ãå®å
šã«ãã¹ã¿ãŒã§ããããã«ããããšãç®æããŠããŸãã
次ã«
ãã¹ããªã³ã°å®å
šåŸæã·ãªãŒãºãããã¹ãŠçµããæ¹ã«ã¯ãææ°ã®å®åæè¡ã§Webã¢ããªã±ãŒã·ã§ã³ãäœã£ãŠã¿ãªããåŠç¿ã§ããã ã¹ããªã³ã°ããŒããšJPAå®åå®å
šåŸæããŒããããããããããããŸãã
è¬çŸ©äžèЧ
- â
Java ORMæšæºJPAããã°ã©ãã³ã°
- â
æ¬çªïŒ Spring BootãšJPAã®æŽ»çš1 - Webã¢ããªã±ãŒã·ã§ã³éçº
- â
æ¬çªïŒ Spring BootãšJPAã®æŽ»çš2 - APIéçºãšããã©ãŒãã³ã¹ã®æé©å
- â
æ¬çªïŒ Spring Data JPA
- â
æ¬çªïŒ Querydsl
Inflearnã§æãå€ãã®ãŠãŒã¶ãŒãåŠç¿ããæé«ã®ããŒãããããåŸ
æã®å®çµïŒ
WebéçºNo.1ãã¹ãã»ã©ãŒ
ããŒããããã®å
容ããã¹ãŠäœåŸããããããªãã®Spring Basicã¯å®åã§ãããªãç«¶äºåã®ããã¬ãã«ã«éããããšã«ãªããŸãããã®ããŒããããã§ã¹ããªã³ã°ã確å®ã«ãã¹ã¿ãŒãããåžæã®ç®æšãéæããŠãã ããïŒ