๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

Spring Boot21

[Spring Boot] API์™€ REST API๊ฐ€ ๋ญ˜๊นŒ? ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด์คŒ API๋ž€? API๋Š” ๋งค๊ฐœ์ฒด์ž„.๋„คํŠธ์›Œํฌ์—์„œ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•œ ๋งค๊ฐœ์ฒด! ์‹๋‹น์—์„œ ์Œ์‹์„ ์ฃผ๋ฌธํ•˜๋Š”๊ฑธ๋กœ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด์ž๋ฉด,์šฐ๋ฆฌ๊ฐ€ ์‹๋‹น์„ ๊ฐ€์„œ ์ฃผ๋ฌธํ• ๋•Œ, ์ฃผ๋ฐฉ์œผ๋กœ ์ง์ ‘ ๊ฐ€์„œ ์š”๋ฆฌ์‚ฌํ•œํ…Œ ๋ฌด์Šจ ์Œ์‹ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”~ ๋ผ๊ณ  ์•ˆํ•˜์ž–์•„์š” ๋ฉ”๋‰ดํŒ ๋ณด๊ณ  ๊ฑฐ๊ธฐ ๋‚˜์™€์žˆ๋Š”๋Œ€๋กœ ์ฃผ๋ฌธํ•จ!!!๊ทธ๋ฆฌ๊ณ  ์›จ์ดํ„ฐ๊ฐ€ ์ฃผ๋ฌธ์„ ๋ฐ›์œผ๋ฉด, ์ฃผ๋ฐฉ์— ๊ฐ€์„œ @@์š”๋ฆฌ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”~ ๋ผ๊ณ  ํ•˜๊ณ ์š”๋ฆฌ๊ฐ€ ๋‹ค ๋ผ๋ฉด ์›จ์ดํ„ฐ๊ฐ€ ์†๋‹˜ํ•œํ…Œ ์š”๋ฆฌ๋ฅผ ์คŒ. ์—ฌ๊ธฐ์„œ ์†๋‹˜ = ํด๋ผ์ด์–ธํŠธ์š”๋ฆฌ์‚ฌ = ์„œ๋ฒ„์›จ์ดํ„ฐ = API๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด๋จ. ๊ทธ๋ฆฌ๊ณ  ๋ฉ”๋‰ดํŒ์„ API ๋ช…์„ธ์„œ (์–ด๋–ค์‹์œผ๋กœ API๋ฅผ ๋ฐฉ์‹์œผ๋กœ ํ˜ธ์ถœํ•˜๋ฉด๋˜๋Š”์ง€.. ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฉ€ ๋„ฃ์–ด์•ผํ•˜๋Š”์ง€..๋“ฑ)๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด๋จ ๋‹ค์‹œ ์‹ค์ œ ์ƒํ™ฉ์—์„œ ์˜ˆ์‹œ๋ฅผ ๋“ค์ž๋ฉด,์šฐ๋ฆฌ๊ฐ€ ์›น์‚ฌ์ดํŠธ ๋„ค์ด๋ฒ„์— ์ ‘์†ํ•˜๋Š” ์ƒํ™ฉ.-> ํด๋ผ์ด์–ธํŠธ๊ฐ€ url ์ฃผ์†Œ์ฐฝ์— ๋„ค์ด๋ฒ„.com.. 2025. 5. 3.
[JPA] ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋ž€? ํŠน์ง• ์ •๋ฆฌ JPA์™€ EntityManager ( ๋งค๋‹ˆ์ก€~) JPA : ์ž๋ฐ”์—์„œ ๊ด€๊ณ„ํ˜• DB ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ •์˜ํ•œ interfaceHibernate: JPA ๊ตฌํ˜„์ฒด. (JPA๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋‹ˆ๊นŒ ๊ตฌํ˜„์ฒด ํ•„์š”) ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” JDBC API ์‚ฌ์šฉ JPA ์ฃผ์š” ์ปจ์…‰ - ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ € - ์˜์†์„ฑ ์—”ํ‹ฐํ‹ฐ(Entity)? DB ํ…Œ์ด๋ธ”๊ณผ ๋งคํ•‘๋˜๋Š” ๊ฐ์ฒด. query๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฐ์ฒด.์ž๋ฐ” ๊ฐ์ฒด๋ž‘ ๊ฐ™์Œ. ๊ทผ๋ฐ DB์˜ ํ…Œ์ด๋ธ”์ด๋ž‘ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜๋Š” ํŠน๋ณ„ํ•œ ์• ๋ผ์„œ entity๋ผ๊ณ  ๊ตฌ๋ถ„์ง€์–ด์„œ ๋ถˆ๋Ÿฌ์ฃผ๋Š”๊ฒƒ ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ €(Entity Manager)?๋ง ๊ทธ๋Œ€๋กœ ์—”ํ‹ฐํ‹ฐ ๊ด€๋ฆฌ, DB๋ž‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์ด์—์„œ ๊ฐ์ฒด ๋งŒ๋“ค๊ณ  ์ˆ˜์ •ํ•˜๊ณ  ์‚ญ์ œํ•˜๊ณ ..๋’ท๋ฐ”๋ผ์ง€ํ•จ ex) ํšŒ์› 2๋ช…์ด์„œ ๋™์‹œ์— ํšŒ์›๊ฐ€์ž… ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ (=๋™์‹œ์— DB ์ ‘๊ทผํ•˜๋ ค๋Š” ๊ฒฝ์šฐ)ํšŒ์›A์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ์—”ํ‹ฐ.. 2025. 5. 3.
[Spring Boot]๋งŽ์ด ์“ฐ์ด๋Š” ์• ๋„ˆํ…Œ์ด์…˜ ์ •์˜ ์ •๋ฆฌ 1. @Entity ์• ๋„ˆํ…Œ์ด์…˜Member ๊ฐ์ฒด๋ฅผ JPA๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์—”ํ‹ฐํ‹ฐ๋กœ ์ง€์ •= Member ํด๋ž˜์Šค & ์‹ค์ œ DB ํ…Œ์ด๋ธ”์„ mapping ํ…Œ์ด๋ธ” ์ด๋ฆ„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด, ๊ทธ๋ƒฅ ํด๋ž˜์Šค ์ด๋ฆ„์ด๋ž‘ ๊ฐ™์€ ์ด๋ฆ„์˜ ํ…Œ์ด๋ธ”์ด๋ž‘ ๋งตํ•‘๋จ(๋”ฐ๋ผ์„œ ์œ„์˜ ์˜ˆ์ œ์—์„œ๋Š” member ํ…Œ์ด๋ธ”)(์ง€์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด,@Entity(name = "member_list") ์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋ฉด๋จ 2. @NoArgsConstructor ์• ๋„ˆํ…Œ์ด์…˜protected ๊ธฐ๋ณธ ์ƒ์„ฑ์ž. ์—”ํ‹ฐํ‹ฐ๋Š” ๊ธฐ๋ณธ ์ƒ์„ฑ์ž ๊ผญ ์ž‡์–ด์•ผํ•จ(์ ‘๊ทผ์ œ์–ด์ž๋Š” public or protected) 3. @Id ์• ๋„ˆํ…Œ์ด์…˜@Id ์• ๋„ˆํ…Œ์ด์…˜ ๋ถ™์€ ํ•„๋“œ๊ฐ€ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๋จ+ GeneratedValue๋Š” ๊ธฐ๋ณธํ‚ค ์ƒ์„ฑ ๋ฐฉ์‹์„ ๊ฒฐ์ •.(์—ฌ๊ธฐ์„œ๋Š” ์ž๋™ ์ฆ๊ฐ€๋กœ ์„ค์ •๋˜์–ด์žˆ์Œ) 4. @Column ์• ๋„ˆํ…Œ์ด์…˜D.. 2025. 5. 3.
๋ฐ˜์‘ํ˜•