Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

์น˜ํ‚จ๊ฐ’์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” Spring CRUD (With Kotlin)

์น˜ํ‚จ๊ฐ’์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์Šคํ”„๋ง CRUD ์น˜ํ‚จ๊ฐ’์œผ๋กœ ์„œ๋ฒ„๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•ด๋ณด์ž๊ณ ์š”!!

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐฑ์—”๋“œ, Spring] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ์ฝ”ํ‹€๋ฆฐ์„ ํ™œ์šฉํ•œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ

  • ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ๊ธฐ์ดˆ๊ฐœ๋…

  • ํฌ์ŠคํŠธ๋งจ ์‚ฌ์šฉ๋ฒ•

  • MySQL ๊ณผ JPA๋ฅผ ํ™œ์šฉํ•œ ๋””๋น„ ๊ตฌ์ถ•

  • CRUD

Kotlin + Spring CRUD ์น˜ํ‚จ๊ฐ’์œผ๋กœ ์™„์„ฑ? ๐Ÿ—๐Ÿ”ฅ

๋Œ€๊ธฐ์—…์€ ์ง€๊ธˆ ์ž๋ฐ”๋ณด๋‹จ ์ฝ”ํ‹€๋ฆฐ๊ณผ ์Šคํ”„๋ง์„ ์ด์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•ด๋ณธ ์‚ฌ๋žŒ๋“ค์„ ์šฐ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๊ฐœ๋ฐœ์„ ์ž…๋ฌธํ•˜๋ฉฐ ๊ธฐ์ดˆ์ ์ธ ๋กœ์ง์ธ CRUD๋ฅผ ์ดํ•ดํ•˜๊ณ  ๋””๋น„์— JPA๋ฅผ ํ†ตํ•ด ์ €์žฅํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์„œ๋ฒ„๊ฐœ๋ฐœ์„ ์ž…๋ฌธํ•ด๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์   ๋”์ด์ƒ ๋ฌผ๋Ÿฌ๋‚  ๊ณณ์ด ์—†๋‹ค! ์ด์ œ๋ผ๋„ ์น˜ํ‚จ๊ฐ’์œผ๋กœ ์‹œ์ž‘ํ•˜์ž!

์ด ๊ฐ•์˜์˜ ํŠน์ง•

๐Ÿ“Œ Kotlin + Springboot ์„ ํ™œ์šฉํ•œ RestAPI CRUD ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ Springboot๊ณผ Kotlin์œผ๋กœ ๋น ๋ฅธ ์„œ๋ฒ„ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ํ•ด๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ง€๋ฃจํ•œ ์ด๋ก ๋ณด๋‹จ ์‹ค์Šต์œ„์ฃผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žฌ๋ฏธ์žˆ๊ฒŒ ์„œ๋ฒ„๊ฐœ๋ฐœ์— ์ž…๋ฌธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ๋”ฐ๋ผํ•˜์‹œ๋ฉด CRUD๋Š” ๋ฐฐ์›Œ๊ฐ€์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์„œ๋ฒ„๊ฐœ๋ฐœ์„ ์œ„ํ•œ JDK์„ค์น˜, MySQL, Workbanch, intellij, Postman, ํ”„๋กœ์ ํŠธ ์„ธํŒ…๋ฒ•๋“ฑ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ์„ธํŒ…์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ•์˜ ์Šคํƒ

Spring Boot, Spring Data JPA, MySQL, Kotlin

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด์š”

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ์ž…๋ฌธํ•ด๋ณด๊ณ  ์‹ถ์–ด์š”.์ฝ”ํ‹€๋ฆฐ์„ ๋ฐฐ์› ๋Š”๋ฐ ์ดํ›„์—๋Š” ๋ญ˜ ํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋Š” ๋ฐฑ์—”๋“œ ์ž…๋ฌธ์ž

๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๊ด€์‹ฌ์žˆ์–ด์š”.
ํ”„๋ก ํŠธ์•ค๋“œ๊ฐ€ ๋Œ์•„๊ฐ€๋Š”๊ฑด ์•Œ์ง€๋งŒ ๋ฐฑ์—”๋“œ ๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์•Œ๊ณ ์‹ถ์€ ๋ถ„

์„œ๋ฒ„ ๊ฐœ๋ฐœ ๊ณผ์ •์ด ๊ถ๊ธˆํ•ด์š”.
์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฌด์Šจ์ผ ํ•˜๋Š”์ง€
๊ถ๊ธˆํ•˜์‹ ๋ถ„

์ˆ˜๊ฐ• ํ›„์—๋Š”

  • Kotlin + Spring ์„ ์ด์šฉํ•œ ๊ฐ„๋‹จํ•œ CRUD ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”!

  • MySQL๊ณผ JPA๋ฅผ ํ†ตํ•œ ๋””๋น„๊ตฌ์„ฑ์„ ํ•  ์ˆ˜ ์žˆ์–ด์š”!

  • RestAPI ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๊ณ  ํฌ์ŠคํŠธ๋งจ์œผ๋กœ ํ†ต์‹ ํ•˜๋Š”๋ฒ•์„ ์•Œ ์ˆ˜ ์žˆ์–ด์š”!

  • ๋‹น์‹ ๋„ ์ด์ œ ์„œ๋ฒ„๊ฐœ๋ฐœ์ž์˜ ์„ธ๊ณ„์— ์ž…๋ฌธํ•  ์ˆ˜ ์žˆ์–ด์š”!

์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š”.

  • ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์• ์šฉํ•ด ๊ฐ„๋‹จํ•œ POST/GET/PATCH/DELETE API๋ฅผ ๋งŒ๋“ค์–ด ๋ด…๋‹ˆ๋‹ค.

CRUD ์ค‘ C

๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ Create

CRUD ์ค‘ R

๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ ์œ„ํ•œ Read

CRUD ์ค‘ U

๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๊ธฐ์œ„ํ•œ Update

CRUD ์ค‘ D

๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šฐ๊ธฐ ์œ„ํ•œ Delete

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ๊ฐ•์˜๋Š” MacOS ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • WindowOS ์ „์šฉ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜๋งํฌ๋ฅผ ์ œ๊ณตํ•ด ๋ฌธ์ œ์—†์ด ๊ฐ•์˜๋ฅผ ๋“ค์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ•์˜์—์„œ๋Š” Intellij professional์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. educational ๋ฒ„์ „๋„ ๋ฌด๋ฆฌ์—†์ด ๋”ฐ๋ผ์˜ค์‹ค ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํ•™์Šต ์ž๋ฃŒ

  • ๋…ธ์…˜ ๋งํฌ๋กœ ์ œ๊ณตํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • ๊ธฐ๋ณธ์ ์ธ ์ฝ”๋”ฉ์‹ค๋ ฅ

  • Kotlin ํ˜น์€ Java๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์…จ์œผ๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค

  • ์–ธ์–ด์  ํŠน์ง•์„ ๊ฐ€๋ฅด์น˜๊ธฐ๋ณด๋‹จ Spring CRUD์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€๋ฐ ๊ฐ€๋ณ๊ฒŒ ์‹œ์ž‘ํ•˜์‹œ๊ณ  ์‹ถ์œผ์‹ ๋ถ„๋“ค

  • ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ์Šคํ”„๋ง๋ถ€ํŠธ ์ž…๋ฌธ์„ ํ•˜๊ณ  ์‹ถ์œผ์‹ ๋ถ„๋“ค

  • ์ฝ”ํ‹€๋ฆฐ์„ ํ™œ์šฉํ•œ ์Šคํ”„๋ง CRUD ๊ฐœ๋…์„ ์ดํ•ดํ•˜์‹œ๊ณ  ์‹ถ์€๋ถ„๋“ค

  • ์Šคํ”„๋ง์ด ๋ญ”์ง€ ๊ถ๊ธˆํ•˜์‹ ๋ถ„๋“ค

  • ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฌด์Šจ์ผ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•˜์‹ ๋ถ„๋“ค

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ์ฝ”๋”ฉ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ง€์‹

  • Kotlin ํ˜น์€ Java๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์…จ์œผ๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค

์•ˆ๋…•ํ•˜์„ธ์š”
Neo์ž…๋‹ˆ๋‹ค.

157

๋ช…

์ˆ˜๊ฐ•์ƒ

11

๊ฐœ

์ˆ˜๊ฐ•ํ‰

1

๊ฐœ

๋‹ต๋ณ€

4.5

์ 

๊ฐ•์˜ ํ‰์ 

3

๊ฐœ

๊ฐ•์˜

"์‹ค์ „ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ ๊ฐ•์˜"

ํ˜ผ์ž๋งŒ์˜ ๋…ธ๋ ฅ์œผ๋กœ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•œ ์‹ค์ „ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ, ๋‹ค์–‘ํ•œ ๋Œ€ํšŒ์™€ ํ•ด์ปคํ†ค์—์„œ ์ˆ˜์ƒํ•˜๋ฉฐ ๊ฒช์€ ๋…ธํ™”์šฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ ์ž ์‹œ์ž‘ํ•œ ์ง€์‹ ๊ณต์œ ์ž…๋‹ˆ๋‹ค.

์„ฑ๊ณต์ ์œผ๋กœ ์™„์„ฑํ•œ ํ”„๋กœ์ ํŠธ๋“ค์„ ํ†ตํ•ด ์ถ•์ ๋œ ๋…ธํ•˜์šฐ๋ฅผ ์•„๋‚Œ์—†์ด ๊ณต์œ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ”„๋ฆฌ๋žœ์„œ๋กœ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์ด๋ฉฐ, ์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์‹ค๋ฌด์—์„œ ๋ฐ”๋กœ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ์ˆ ๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ์ „๋‹ฌํ•˜๊ณ ์ž ํ•˜๋ฉฐ ์‹ค์ „์—์„œ ์–ป์€ ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋”์šฑ ํšจ์œจ์ ์ด๊ณ  ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๋ณด์„ธ์š”!

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

8๊ฐœ โˆ™ (51๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!