๐Ÿผ๋ฐฑ์•ค๋“œ/Spring

(1)๋‚ด์žฅ ํ†ฐ์ผ“์„ ๊ฐ€์ง„๋‹ค. ํ†ฐ์ผ“์„ ๋”ฐ๋กœ ์„ค์น˜ํ•  ํ•„์š” ์—†์ด ๋ฐ”๋กœ ์‹คํ–‰๊ฐ€๋Šฅํ•˜๋‹ค. Socket: ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ A์™€ B๊ฐ€ ํ†ต์‹ ํ•œ๋‹ค. A๊ฐ€ 5000๋ฒˆ ์†Œ์ผ“์„ ์˜คํ”ˆํ•˜๋ฉด B๊ฐ€ ip์ฃผ์†Œ:5000์™€ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๋„ฃ๊ณ  ์—ฐ๊ฒฐํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด A์™€ B๋Š” ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋Ÿฌ๋ฉด C๊ฐ€ A๋ž‘ ํ†ต์‹ ์„ ํ•˜๊ณ  ์‹ถ์€๋ฐ, 5000๋ฒˆ์€ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ C๋Š” 5000๋ฒˆ์œผ๋กœ ์—ฐ๊ฒฐ์„ ๋ชปํ•œ๋‹ค. ์ตœ์ดˆ์˜ 5000๋ฒˆ ํฌํŠธ๋Š” ์—ฐ๊ฒฐ์šฉ๋„๋กœ๋งŒ ์“ฐ๊ณ  main์“ฐ๋ ˆ๋“œ(์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋ฐ›์Œ)๊ฐ€ ๋จ, ์—ฐ๊ฒฐ์ด ๋˜๋Š” ์ˆœ๊ฐ„ ์ƒˆ๋กœ์šด ์†Œ์ผ“(5001)์„ ๋งŒ๋“ ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด A๋Š” 5000๋ฒˆ ๊ณผ์˜ ์—ฐ๊ฒฐ์€ ๋Š๊ธฐ๊ณ  5001๋กœ B์™€ ํ†ต์‹ ํ•œ๋‹ค. ์ด๋•Œ, 5001์€ ์Šค๋ ˆ๋“œ1์„ ๋งŒ๋“œ๋Š”๋ฐ, ์ด๋•Œ C๋Š” 5000๋ฒˆ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ทธ๋Ÿฌ๋ฉด 5000๋ฒˆ์ด ์ƒˆ๋กœ์šด ์†Œ์ผ“์„ ..
JPA๋Š” Java Persistence(์˜์†์„ฑ) API์ด๋‹ค. ex) ๋žจ์€ ํœ˜๋ฐœ์„ฑ. ์ด ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋“œ๋””์Šคํฌ์— ๊ธฐ๋กํ•˜๋ฉด ๋น„ํœ˜๋ฐœ์„ฑ์ด๋ฏ€๋กœ ์˜๊ตฌ์ €์žฅ๋จ. ์˜๊ตฌํžˆ ๊ธฐ๋ก๋˜๋Š”๊ฒŒ Persistence. ์ž๋ฐ”๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ DBMS๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. JPA๋Š” ์ž๋ฐ”์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌํžˆ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” API API๋ž€? Application -> ํ”„๋กœ๊ทธ๋žจ Programming ->ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ฌ Interface ->์ด๊ฑธ ํ†ตํ•ด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์•ฝ์†(ํ”„๋กœํ† ์ฝœ vs ์ธํ„ฐํŽ˜์ด์Šค) ํ”„๋กœํ† ์ฝœ: ์•ฝ์† - A,B,C์˜ ๊ถŒ๋ฆฌ๊ฐ€ ๋™๋“ฑํ•˜๋‹ค. B๊ฐ€ ๊ฐ•์••ํ•  ์ˆ˜ ์—†๋‹ค. ์„œ๋กœ๊ฐ€ ๋ชจ๋‘ ๋™์˜ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ vs ์ธํ„ฐํŽ˜์ด์Šค: ์•ฝ์† - B๊ฐ€ ํž˜์ด ์…ˆ. B๊ฐ€ ๋งŒ๋“  ๊ทœ์น™์„ A์™€ C๊ฐ€ ๋ฌด์กฐ๊ฑด ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค. ์ฆ‰, B๊ฐ€ ๊ทœ์น™์„ ์ •ํ•  ๋•Œ..
์Šคํ”„๋ง์€ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค ํ”„๋ ˆ์ž„์›Œํฌ:ํ‹€ ์•ˆ์—์„œ ๋™์ž‘. ํ‹€์„ ๋งž์ถฐ์ค„ํ…Œ๋‹ˆ ํ‹€์— ๋งž์ถฐ์„œ ๊ฐœ๋ฐœํ•ด๋ผ ์Šคํ”„๋ง์€ ์˜คํ”ˆ์†Œ์Šค์ด๋‹ค ๋‚ด๋ถ€๋ฅผ ๋œฏ์–ด๊ณ ์น  ์ˆ˜ ์žˆ๋‹ค. + ๋ฌด๋ฃŒ ์Šคํ”„๋ง์€ IoC(Inversion of Controller = ์ œ์–ด์˜ ์—ญ์ „) ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ€์ง„๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ๊ด€๋ฆฌ๋ฅผ ์Šคํ”„๋ง์— ์œ„์ž„ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋„๊ถŒ์ด ์Šคํ”„๋ง์— ์žˆ๋‹ค. ํด๋ž˜์Šค: ์„ค๊ณ„๋„ ์˜ค๋ธŒ์ ํŠธ: ์‹ค์ฒดํ™”๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ์ธ์Šคํ„ด์Šค: ์‹ค์ฒดํ™” ๋œ ๊ฒƒ ๊ฐ€๊ตฌ(ํด๋ž˜์Šค-์ถ”์ƒ์ ) - ์˜์ž,์นจ๋Œ€(์˜ค๋ธŒ์ ํŠธ) - ์ธ์Šคํ„ด์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ new๋กœ ํ•ด์„œ heap ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฐ๋‹ค. ์˜์ž s = new ์˜์ž(); s๋Š” ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜๊ฐ€ ๋˜๊ณ , s๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ๋งŒ ์‚ฌ์šฉ๋จ. ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ์—์„œ ์ด ์˜์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด, ์˜์ž s = new ์˜์ž(); ์ด๊ฑฐ๋ฅผ ๋˜ ์น˜๋ฉด ์ƒˆ๋กœ์šด ..
๊ณ„๋ž€์†Œ๋…„
'๐Ÿผ๋ฐฑ์•ค๋“œ/Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)