Javaèªæ¸ä¼BOF主å¬ãSpringå¾¹åºå ¥é 第2çããèªãä¼ï¼ç¬¬1åï¼ã10æ20æ¥ï¼æ¥ï¼ã«éå¬ããã¾ããã
ååã®æ¸ç±ï¼åºç¤ããã®ãµã¼ãã¬ãã/JSPå ¥é 第5çï¼ã¯ãåå 人æ°ã2-3人ã¨å°ãå¯ããèªæ¸ä¼ã§ãããä»åã¯7人ã®åå ã§éå¬ã¨ãªããååã®æ¸ç±ã®èªæ¸ä¼ã«æ¯ã¹ãã¨è³ãã£ãä¼ã¨ãªãã¾ããã
Springã®æ¸ç±
ä»åã®èª²é¡å³æ¸ã¨ãªã£ããSpringå¾¹åºå ¥é 第2çãï¼2024å¹´5æåï¼ã®ã»ãã«ã顿¸ã§ãプロになるためのSpring入門 ――ゼロからの開発力養成講座:書籍案内|技術評論社ï¼2023å¹´7æåï¼ããããã¾ããæ¸ç±ã®å¯¾è±¡ã¨ããSpring Frameworkã®ãã¼ã¸ã§ã³ãããSpringå¾¹åºå ¥é 第2çãã5ç³» ã§ãã䏿¹ãããã«ãªãããã®Springå ¥éãã6ç³»ã¨ãªã£ã¦ãã¾ãã
æ¸ç±ã®ããªã¥ã¼ã ã¯ããSpringå¾¹åºå ¥é 第2çãã752ãã¼ã¸ã«å¯¾ãã¦ãããã«ãªãããã®Springå ¥éãã384ãã¼ã¸ã¨ã»ã¼åã®ããªã¥ã¼ã ã¨ãªã£ã¦ãã¾ãã
ç®æ¬¡æ§æãè¦ãã¨ããSpringå¾¹åºå ¥é 第2çãã¯ãSpringã®æ¦è¦ç´¹ä»ã®èã1ç« ã®å¾ã¯ã2ç« ã§DIã¨AOPã®è©³ç´°ãªèª¬æãéå§ãããé ããèªãã§æãåãããªããå¾ã ã«è©³ãã解説ãã¦ãããä½è£ã§ã¯ãªãããªãã¡ã¬ã³ã¹çãªæ§æã«ãªã£ã¦ãã¾ããéçºç°å¢ã«ã¤ãã¦ã¯Aã®ä»é²ã§è¨è¼ãHello Worldçãªãµã³ãã«ã¯13ç« ã® Spring Bootã®ç« ã§åãã¦åºã¦ãã¾ãã ãããã«ãªãããã®Springå ¥éãã¯ã第1é¨åºæ¬ç·¨ã¨ç¬¬2é¨è©³ç´°ç·¨ã¨2鍿§æã§å¾ã ã«è©³ãã解説ãã¦ããã¹ã¿ã¤ã«ã®ããã§ãã
å ¥éã¨ãã¦ã®èªã¿ãããã¯ãããã«ãªãããã®Springå ¥éãã§ãç¬å¦ã§ãèªãããã§ãã䏿¹ãèªæ¸ä¼åãï¼è°è«ãæ´»çºã«ãªãæ¸ç±ï¼ã¨ãããã¨ã§ã¯Springå¾¹åºå ¥éãªã®ããªã¨ã®æè§¦ã§ããå ¥éæ¬ã§700ãã¼ã¸è¶ãããµã¤ãºãå¼·çã§ãã
PDFã®å ¥æ
æ¸ç±ãµã¤ãã§ã¯é»åæ¸ç±ã®è³¼å ¥ã§ãä¸è¦PDFçãè¦å½ããããKindleãKoboãHontoã«èªå°ãããããã«è¦ãã¾ãããPDFçãç¿æ³³ç¤¾ããè³¼å ¥å¯è½ã§ããä»åãé»åæ¸ç±è³¼å ¥ãã¦åå ã®æ¹ã®å¤ãããPDFçããªãã¨æãKindleçãè³¼å ¥ããã¨è¨ã£ã¦ãã¾ãããæ¬¡ã®å³ã®æä½ã§PDFçã®è³¼å ¥ã«è¾¿ãã¾ããã
Spring Bootéçºç°å¢
æ¸ç±ã§è§£èª¬ãããã³ã¼ãæçãå®è¡ãããã¨ããå ´åãDIã³ã³ãããå«ãã¦åãã¬ã¼ã ã¯ã¼ã¯ã»ã©ã¤ãã©ãªãåãç°å¢ãå¿ è¦ã§ããç°¡åã«Springã¢ããªã±ã¼ã·ã§ã³ãåããã®ãSpring Bootã®æ©è½ãªã®ã§ãã¾ãã¯Spring Bootã§Springã¢ããªã±ã¼ã·ã§ã³ãä½ã£ã¦åãããããã«ãã¾ãã
æ¸ç±ã§ã¯ãA.ä»é²ã«ããã¦ãSpring Frameworkã使ãã¢ããªã±ã¼ã·ã§ã³ã®éçºç°å¢ã¨ãã¦ãEclipseãã¼ã¹ã®STSï¼Spring Tool Suiteï¼ã®æºåã説æããã¦ãã¾ãã
Spring Bootã®éçºã§ã¯ãWebãµã¼ãã¹ã®Spring Initializr ã¸ã¢ã¯ã»ã¹ããè¨å®ãå ¥åããã¨ããã¸ã§ã¯ãã®éå½¢ããã¦ã³ãã¼ãã§ããã®ã§ããããå±éãã¦IDEã«èªã¾ããã¨ããæµãã«ãªãã¾ããè¨å®ã§ã¯ãã«ããã¼ã«ã«MavenãGradleã鏿ã§ãã¾ãã
IntelliJ IDEAã®å ´åãæåã®Ultimateçãªã Spring Initializrã«ã¢ã¯ã»ã¹ããªãã¦ãããã¸ã§ã¯ãã®ä½æããSpring Bootã鏿ãã¦éå½¢ãçæã§ãã¾ããã¨è¨ã£ã¦ããããã¸ã§ã¯ãã®ä½æã§ã¯è£ã§Spring Initializrãã¢ã¯ã»ã¹ãã¦ããããã§ããç¡åã®Communityçã®å ´åã¯ãSpring Initializrã«ã¢ã¯ã»ã¹ãã¦çæããéå½¢ãèªã¿è¾¼ãã§ä½¿ç¨ããæ¹æ³ã¨ãªãã¾ãã
Spring Bootã使ã£ã¦ãã«ãããã¢ããªã±ã¼ã·ã§ã³ï¼JARå½¢å¼ï¼ã¯ãWebãµã¼ãã¼ãçµã¿è¾¼ã¾ããã®ã§ãJARãã¡ã¤ã«ãå®è¡ããã ãã§Webãµã¼ãã¼ãç¨æããªãã¦ãWebãã©ã¦ã¶ããã¢ã¯ã»ã¹ãå¯è½ã«ãªãã¾ããããã©ã«ãã§ã¯embedded Tomcatãããã¯ã©ã¹ãã¡ã¤ã«ãJARã«å«ã¾ãã¦ãã¾ããã
IntelliJ IDEAï¼Ultimateçï¼ã§Spring Bootããã¸ã§ã¯ãçæ
æ°è¦ããã¸ã§ã¯ããçæãã¾ãï¼File > New > Projectï¼
ããã¸ã§ã¯ãåãè¨èªããã«ããã¼ã«ãããã±ã¼ã¸åãªã©ã鏿ã»å ¥åãã¾ãã
Dependencies ã§ãSpring Webã鏿ãã¾ããããã鏿ãããã¨ã§ãSpringã®Webæ©è½ã®åºæ¬çãªæ¯ãèããå©ç¨ã§ããããã«ãªãã¾ãããã©ã¦ã¶ã«Helloã¡ãã»ã¼ã¸ã表示ããæåã®ããã°ã©ã ã¯ãã®ã©ã¤ãã©ãªã使ç¨ãã¾ãã
ã¢ããªã±ã¼ã·ã§ã³ã®mainã¯ã©ã¹ï¼ã¨ã³ããªã¼ãã¤ã³ãï¼ã¨ãã¹ãã¯ã©ã¹ã®éå½¢ãçæããã¾ããã çæãããmainã¯ã©ã¹ãå®è¡ããã¨ãWebãµã¼ãã¼æ©è½ãåä½ããããã©ã«ãã§ã¯ããã©ã«ãã§ã¯ 8080ãã¼ãã§å¾ ã¡åãã¾ããWebãã©ã¦ã¶ããlocalhost:8080ã«æ¥ç¶ããã¨æ¬¡ã®ã¨ã©ã¼ãçºçãã¾ããããã¯ãã«ã¼ã/ã«ãããã³ã°ãããå¦çãæªå®ç¾©ã®ãã 404ã¨ã©ã¼ã¨ãªã£ã¦ããå ´åã®ã¡ãã»ã¼ã¸ã§ãã
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Mon Oct 28 00:00:55 JST 2024 There was an unexpected error (type=Not Found, status=404).
Hello World! ã¨ã¡ãã»ã¼ã¸ã表示ããWebã¢ããªã±ã¼ã·ã§ã³ã¨ããããã«ãçæãããmainã¯ã©ã¹ã«@RestControllerã¢ããã¼ã·ã§ã³ãä»ä¸ããHTTPã®GETã¡ã½ããã§ã«ã¼ã/ãæå®ãããéã«ã¡ãã»ã¼ã¸ãè¿å´ããã¡ã½ããã@GetMappingã¢ããã¼ã·ã§ã³ãä»ä¸ãã¦å®ç¾©ãã¾ãã
package com.torutk.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { @GetMapping("/") String hello() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
Hello WorldçãªWebã¢ããªã¨ãã¦åä¸ã¯ã©ã¹ã§å®çµãããã®ã«ãREST APIãæ±ã@RestControllerã使ç¨ãã¾ããã ã³ã³ããã¼ã©ã®ã¡ã½ããã«REST APIã®ã¡ã½ããï¼GETï¼ããããã³ã°ããã¡ã½ããã®æ»ãå¤ãAPIã®æ»ãå¤ã«ã©ãããã¾ããæ»ãå¤ã®åãStringã¨ãã¦ããã®ã§åç´ãªæååãè¿å´ããã¾ãããé常ã¯ãªã½ã¼ã¹ã¯ã©ã¹ãå®ç¾©ãã¦è¿å´ãã¾ãã
é常ã®Webã¢ããªã±ã¼ã·ã§ã³ç¨ã®@Controllerã¯ãå¥éViewã«ç¸å½ããä»çµã¿ãç¨æãããã@ResponseBodyã使ããªã©ã²ã¨æéãããã¾ãã