๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ118

Spring Boot์™€ H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ์ž„๋ฒ ๋””๋“œ DB ํ™œ์šฉ ๊ฐ€์ด๋“œ H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋Š” ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ์ž„๋ฒ ๋””๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ, Spring Boot์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ํ…Œ์ŠคํŠธ์™€ ๊ฐœ๋ฐœ์— ์ตœ์ ํ™”๋œ ํ™˜๊ฒฝ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •๊ณผ ํ™œ์šฉ ๋ฐฉ๋ฒ• , H2 ์ฝ˜์†” ์‚ฌ์šฉ๋ฒ• ์„ ์•Œ์•„๋ณด๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ์‹œ ์ž„๋ฒ ๋””๋“œ DB๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์„ ์ฝ”๋“œ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.   ๋ชฉ์ฐจ H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€? Spring Boot์—์„œ H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •ํ•˜๊ธฐ H2 ์ฝ˜์†” ์‚ฌ์šฉ๋ฒ• ( http://localhost:8080/h2-console ) ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์ž„๋ฒ ๋””๋“œ DB ํ™œ์šฉํ•˜๊ธฐ H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋ Œ๋“œ์™€ ์žฅ์    1. H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€? H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋Š” ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜๋Š” ์˜คํ”ˆ.. IT 2024. 10. 21.
Spring Boot์™€ JPA๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™ํ•˜๊ธฐ: ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฐ€์ด๋“œ Spring Boot ์™€ JPA(Java Persistence API) ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™ ์ด ๊ฐ„ํŽธํ•ด์ง‘๋‹ˆ๋‹ค. JPA๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Java)์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB)๋ฅผ ๋งคํ•‘ํ•ด์ฃผ๋Š” ORM(Object Relational Mapping) ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” Spring Data JPA ๊ธฐ๋ณธ ์„ค์ • , Entity์™€ Repository ์„ค๊ณ„ , ๊ทธ๋ฆฌ๊ณ  Query Method์™€ JPQL ํ™œ์šฉ๋ฒ• ์„ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.   ๋ชฉ์ฐจ Spring Data JPA๋ž€ ๋ฌด์—‡์ธ๊ฐ€? Spring Boot์™€ JPA ์—ฐ๋™ ์„ค์ •ํ•˜๊ธฐ Entity์™€ Repository ์„ค๊ณ„ ๋ฐฉ๋ฒ• Query Method์™€ JPQL ํ™œ์šฉํ•˜๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™์— ๋Œ€ํ•œ ํŠธ๋ Œ๋“œ์™€ ์ค‘์š”์„ฑ   1. Spri.. IT 2024. 10. 21.
Spring Boot๋กœ RESTful API ๊ฐœ๋ฐœ: ์‰ฝ๊ณ  ํšจ์œจ์ ์ธ API ์„ค๊ณ„ ๋ฐฉ๋ฒ• RESTful API ๋Š” ํ˜„๋Œ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ ํ•„์ˆ˜์ ์ธ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค. Spring Boot ๋Š” ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ REST API๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” RESTful API ์„ค๊ณ„ ์›์น™ , @RestController ์™€ @RequestMapping ์‚ฌ์šฉ๋ฒ• , ๊ทธ๋ฆฌ๊ณ  JSON ๋ฐ XML ์‘๋‹ต ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ์„ ์ž์„ธํžˆ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.   ๋ชฉ์ฐจ RESTful API๋ž€ ๋ฌด์—‡์ธ๊ฐ€? RESTful API ์„ค๊ณ„ ์›์น™๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€ @RestController ์™€ @RequestMapping ์‚ฌ์šฉ๋ฒ• Spring Boot๋กœ JSON๊ณผ XML ์‘๋‹ต ์ฒ˜๋ฆฌํ•˜๊ธฐ ํŠธ๋ Œ๋“œ์™€ REST API ํ™œ์šฉ์˜ ์ค‘์š”์„ฑ   1. .. IT 2024. 10. 21.
์†ํ•ดํ‰๊ฐ€์‚ฌ ์ „๋ง: ์ž๊ฒฉ์ฆ ์ทจ๋“ ํ›„ ์ทจ์—… ๊ฐ€๋Šฅ์„ฑ๊ณผ ๋ฏธ๋ž˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์•ˆ์ •์ ์ธ ์ง์—…์„ ์ฐพ๊ณ  ์žˆ์œผ๋ฉฐ, ์ž๊ฒฉ์ฆ์„ ํ†ตํ•ด ์ปค๋ฆฌ์–ด๋ฅผ ํ™•์žฅํ•˜๋ ค๋Š” ๋ถ„๋“ค๋„ ๋Š˜์–ด๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ๋„ ์†ํ•ดํ‰๊ฐ€์‚ฌ๋Š” ๋†์—…, ๋ณดํ—˜, ์žฌ์‚ฐ ์†์‹ค๊ณผ ๊ด€๋ จ๋œ ์†ํ•ด๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ์ „๋ฌธ๊ฐ€๋กœ ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋†์ž‘๋ฌผ ์žฌํ•ด๋ณดํ—˜ ๊ณผ ์žฌ์‚ฐ ์†ํ•ด ํ‰๊ฐ€ ์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜์ฃ . ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์†ํ•ดํ‰๊ฐ€์‚ฌ์˜ ์ „๋ง , ์ทจ์—… ๊ฐ€๋Šฅ์„ฑ , ๊ทธ๋ฆฌ๊ณ  ์ž๊ฒฉ์ฆ์„ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.  1. ์†ํ•ดํ‰๊ฐ€์‚ฌ๋ž€?์†ํ•ดํ‰๊ฐ€์‚ฌ๋Š” ๋†์—… ๋ฐ ์žฌ์‚ฐ ์†ํ•ด ๋ถ„์•ผ ์—์„œ ์†ํ•ด๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ์ „๋ฌธ๊ฐ€์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋†์ž‘๋ฌผ ์žฌํ•ด์— ๋Œ€ํ•ด ์†ํ•ด๋ฅผ ์‚ฐ์ •ํ•˜๊ณ , ๋ณดํ—˜๊ณผ ๊ด€๋ จ๋œ ์†์‹ค ํ‰๊ฐ€ ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ถ€์™€ ๋ณดํ—˜์‚ฌ๋Š” ๋†์—… ์žฌํ•ด์— ๋Œ€ํ•œ ๋ณด์ƒ ๊ธฐ์ค€์„ ์†ํ•ดํ‰๊ฐ€์‚ฌ์˜ ํŒ๋‹จ์— ๋งŽ์ด ์˜์กดํ•˜๋Š”๋ฐ, ๊ทธ๋งŒํผ ์ค‘์š”ํ•œ ์ฑ…์ž„์„ .. ํ•™์Šต๊ณผ ์„ฑ์žฅ 2024. 10. 21.
Spring Boot Starter ์™„๋ฒฝ ํ™œ์šฉ ๊ฐ€์ด๋“œ: ํ•„์š”ํ•œ ์˜์กด์„ฑ๋งŒ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ ์Šคํ”„๋ง ๋ถ€ํŠธ(Spring Boot) ์˜ ๊ฐ€์žฅ ํฐ ์žฅ์  ์ค‘ ํ•˜๋‚˜๋Š” ํ•„์š”ํ•œ ์˜์กด์„ฑ์„ ์†์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ Spring Boot Starter ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Starter์˜ ์—ญํ• ๊ณผ ์ข…๋ฅ˜ ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ , ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ Starter ๋“ค์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์˜์กด์„ฑ ์ตœ์†Œํ™”์™€ Starter ์„ ํƒ ์ „๋žต ์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” Starter๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.   ๋ชฉ์ฐจ Spring Boot Starter๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ Starter ์˜์กด์„ฑ ์ตœ์†Œํ™”์™€ Starter ์„ ํƒ ์ „๋žต Starter๋ฅผ ํ™œ์šฉํ•œ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์˜ˆ์ œ ํŠธ๋ Œ๋“œ์™€ ํ†ต๊ณ„: Starter ํ™œ์šฉ์˜ ์ค‘์š”์„ฑ   1. Sprin.. IT 2024. 10. 21.