Community

๐Ÿ•Š๏ธ ๋ฉด์ ‘์„ ์œ„ํ•œ ์Šคํ”„๋ง ๋ถ€ํŠธ ์–ด๋…ธํ…Œ์ด์…˜(1)

์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์˜ ๋‹ค์–‘ํ•œ ์š”์†Œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์ปค์Šคํ…€ํ•˜๋Š”๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” ์ผ๋ฐ˜์ ์ด๊ณ  ์ค‘์š”ํ•œ ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ดํŽด๋ด„์œผ๋กœ์จ ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ๋”์šฑ ํšจ๊ณผ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฉด์ ‘์„ ์œ„ํ•œ ์Šคํ”„๋ง ๋ถ€ํŠธ ์–ด๋…ธํ…Œ์ด์…˜(2) - [https://careerly.co.kr/comments/96343] Core Annotations * @SpringBootApplication @Configraution, @EnableAutoConfiguration, @ComponentScan๊ณผ ๊ฐ™์€ ์ฃผ์š” ์–ด๋…ธํ…Œ์ด์…˜์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. * @Configuration ์ด ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค์— ์Šคํ”„๋ง ๋นˆ ๋ฐ ๊ตฌ์„ฑ ๋กœ์ง์ด ํฌํ•จ๋˜์–ด ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. * @Component Scan ์ด ์–ด๋…ธํ…Œ์ด์…˜์€ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค ๋ฐ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์™€ ๊ฐ™์€ ์Šคํ”„๋ง ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•ด ๊ฒ€์ƒ‰ํ•  ํŒจํ‚ค์ง€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. * @EnableAutoConfiguration application.properties ๋˜๋Š” application.yml ํŒŒ์ผ์˜ ์†์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ๊ทธ๋žจ์˜ ์ž๋™ ๊ตฌ์„ฑ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. Controller Annotations * @RestController ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ HTTP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  JSON, XML๋“ฑ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ˜•์‹์œผ๋กœ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋ผ๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. * @Controller @RestController์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์‘๋‹ต์„ ๋ทฐ ํ˜•์‹์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. Service and Repository Annotations * @Service ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋ผ๊ณ  ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. * @Repository ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ์ œ๊ณตํ•˜๋Š” ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ผ๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. Dependency Injection Annotations * @Autowired ์ƒ์„ฑ์ž, ํ•„๋“œ, setter ๋ฉ”์„œ๋“œ์— ๊ด€๊ณ„ ์—†์ด ์˜์กด์„ฑ์„ ํด๋ž˜์Šค์— ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค. Request Mapping Annotations * @RequestMapping ์ปจํŠธ๋กค๋Ÿฌ์˜ ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณต๋œ ์—”๋“œํฌ์ธํŠธ์— ๋งคํ•‘ํ•˜์—ฌ ๋‹ค์–‘ํ•œ HTTP ๋ฉ”์„œ๋“œ(GET, POST, PUT, DELETE ๋“ฑ)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. @GetMapping๊ณผ @PostMapping์˜ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค.

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค