JavaRush /Java Blog /Random-KO /๋ด„์€ ๊ฒŒ์œผ๋ฅธ ์ž์˜ ๊ฒƒ์ด๋‹ค. ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ธฐ๋ณธ, ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. 1 ๋ถ€

๋ด„์€ ๊ฒŒ์œผ๋ฅธ ์ž์˜ ๊ฒƒ์ด๋‹ค. ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ธฐ๋ณธ, ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. 1 ๋ถ€

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ์›น ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ ๊ณผ ์„œ๋ธ”๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์›น ์„œ๋น„์Šค ์ƒ์„ฑ ์— ๋Œ€ํ•œ ๋‚ด ๊ธฐ์‚ฌ๋ฅผ ์ฝ์€ ํ›„ ์–ธ์ œ Spring์— ๋Œ€ํ•ด ๊ธ€์„ ์“ธ์ง€ ๊ถ๊ธˆํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์›ํ•˜์ง€ ์•Š์•˜๊ณ  ์ฑ…์„ ์ฝ์œผ๋ผ๊ณ  ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. (๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์—ฌ์ „ํžˆ ์ฑ…์ด ์ธํ„ฐ๋„ท์—์„œ 10๊ฐœ, ์‹ฌ์ง€์–ด 100๊ฐœ์˜ ๊ธฐ์‚ฌ๋ณด๋‹ค ๋‚ซ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.) ํ•˜์ง€๋งŒ ์ด์ œ๋Š” ๊ฐ™์€ ๋‚ด์šฉ์„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ํ•œ ๋ฒˆ ์•‰์•„์„œ ๊ธฐ์‚ฌ๋ฅผ ์“ด ๋‹ค์Œ ๋งํฌ๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋งํฌ๋ฅผ ์œ„ํ•ด ๊ธ€์„ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค)). ๋ด„์€ ๊ฒŒ์œผ๋ฅธ ์ž์˜ ๊ฒƒ์ด๋‹ค.  ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ธฐ๋ณธ, ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.  ํŒŒํŠธ 1 - 1์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์˜ˆ์ œ๋ฅผ ๋”ฐ๋ผ 5๋ถ„ ๋งŒ์— Spring์—์„œ ์ž‘์—… ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์“ฐ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ํ™•์‹คํžˆ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ง€์‹ ์—†์ด ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด์„œ๋งŒ ์“ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฑฐ๊ธฐ์—์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋” ์ค‘์š”ํ•œ ๊ฒƒ์€ ์™œ ๋ช…ํ™•ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Spring Framework ๋˜๋Š” ๊ฐ„๋‹จํžˆ Spring์€ Java๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ(์•„๋งˆ๋„ ์ด ์šฉ์–ด๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ๋” ์นœ์ˆ™ํ•  ๊ฒƒ์ž„) ํ•œ ๊ฐ€์ง€ ์š”์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋žต์ ์œผ๋กœ ๋งํ•˜์ž๋ฉด, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ ์•ˆ์— ์žˆ๋Š” ํด๋ž˜์Šค์˜ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ•„์š”ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ณด๋‹ค ํ•„์ˆ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ํŠน์ • ์ˆœ๊ฐ„, ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•˜๋Š” ์ˆœ๊ฐ„ ๋“ฑ์„ ํ”„๋กœ๊ทธ๋žจ์— ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋Š” ์ƒํ™ฉ์ด ์•ฝ๊ฐ„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ž์‹ ๋งŒ์˜ ํด๋ž˜์Šค ์ผ๋ถ€๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ฑฐ๊ธฐ์— ๋กœ์ง์˜ ์ผ๋ถ€๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ํ”„๋ ˆ์ž„์›Œํฌ ์ž์ฒด๊ฐ€ ํด๋ž˜์Šค์˜ ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ํด๋ž˜์Šค๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ผ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ผ๋ถ€ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜์—ฌ ์ด๋ฏธ ์ž‘์„ฑ๋œ ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ผญ ๊ทธ๋ ‡๊ฒŒ ๋  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Spring์—์„œ๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ์ด๋Ÿฌํ•œ ์—„๊ฒฉํ•œ ๊ฒฐํ•ฉ์—์„œ ๋ฒ—์–ด๋‚˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ (ํด๋ž˜์Šค๊ฐ€ ์ด ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ผ๋ถ€ ํด๋ž˜์Šค/์ธํ„ฐํŽ˜์ด์Šค์— ์ง์ ‘ ์˜์กดํ•˜๋Š” ๊ฒฝ์šฐ) ์ด๋Ÿฌํ•œ ๋ชฉ์ ์œผ๋กœ ์ฃผ์„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‚˜์ค‘์— ์ด ์ ์œผ๋กœ ๋Œ์•„์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Spring์€ ์ด๋ฏธ ์—ฌ๋Ÿฌ๋ถ„์„ ์œ„ํ•ด ์ž‘์„ฑ๋œ ์ผ๋ถ€ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ง‘ํ•ฉ์ผ ๋ฟ์ด๋ผ๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค :) ์ €๋Š” ๋˜ํ•œ Spring์ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์ฝ˜์†”์—๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์ฆ‰์‹œ ์–ธ๊ธ‰ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค . ์šฐ๋ฆฌ ๋ชจ๋‘์—๊ฒŒ ๋„ˆ๋ฌด๋‚˜ ์ต์ˆ™ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” ๊ทธ๋Ÿฐ ๊ฒƒ๋„ ์“ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ตฌ์กฐ

๊ทธ๋Ÿฌ๋‚˜ Spring์€ ํ•˜๋‚˜์˜ ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ๊ฐ ์„œ๋กœ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ฌ๋Ÿฌ ์ž‘์€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ผ๋ฐ˜์ ์ธ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
๋ด„์€ ๊ฒŒ์œผ๋ฅธ ์ž์˜ ๊ฒƒ์ด๋‹ค.  ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ธฐ๋ณธ, ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.  ํŒŒํŠธ 1 - 2
๋ณด์‹œ๋‹ค์‹œํ”ผ ์Šคํ”„๋ง์€ ๋ชจ๋“ˆ์‹ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•„์š”ํ•œ ๋ชจ๋“ˆ๋งŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ณ  ๋ถ„๋ช…ํžˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋ชจ๋“ˆ์€ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ, Spring์ด ๋‹น์‹œ์˜ ๊ฒฝ์Ÿ์ž(EJB)๋ฅผ ๋Šฅ๊ฐ€ํ•˜๊ณ  ์„ ๋‘๋ฅผ ์ฐจ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ด์—ˆ์Šต๋‹ˆ๋‹ค. EJB๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋งŽ์€ ์ข…์†์„ฑ์„ ๊ฐ€์ ธ์™”๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ๋Š๋ฆฌ๊ณ  ์„œํˆฌ๋ฅธ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋Š” ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ;
  • ํŽธ๋ฌผ;
  • ํ•ต์‹ฌ;
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ.
์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” ๋นˆ, ์ปจํ…์ŠคํŠธ ๋ฐ ๊ธฐํƒ€์™€ ๊ฐ™์€ ๊ธฐ๋ณธ ๋ชจ๋“ˆ์˜ ๋ช‡ ๊ฐ€์ง€ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ชจ๋“ˆ์—๋Š” ๋ฐ์ดํ„ฐ ์ž‘์—…(์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค), ์›น - ๋„คํŠธ์›Œํฌ ์ž‘์—…(๋‚˜์ค‘์— ์„ค๋ช…ํ•  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ ํฌํ•จ)์„ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์†Œ์œ„ ์ „์ฒด Spring ์ธํ”„๋ผ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ ์ž์ฒด์— ๊ณต์‹์ ์œผ๋กœ ํฌํ•จ๋˜์ง€๋Š” ์•Š์ง€๋งŒ Spring ํ”„๋กœ์ ํŠธ์— ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉ๋˜๋Š” ๋‹ค๋ฅธ ๋งŽ์€ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค( ์˜ˆ : ์–ธ์  ๊ฐ€ ์šฐ๋ฆฌ๋„ ๋Š๋‚„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.)

์™œ Java์—์„œ Spring์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

๊ธ€์Ž„์š”, ๊ทธ๊ฒƒ์ด ํŒจ์…”๋„ˆ๋ธ”ํ•˜๊ณ  ์Šคํƒ€์ผ๋ฆฌ์‰ฌํ•˜๋ฉฐ ์ Š๋‹ค๋Š” ์‚ฌ์‹ค ์™ธ์—๋„, ๊ทธ๊ฒƒ์„ ์กฐ๊ธˆ๋งŒ ์ตํžˆ๋ฉด ์ง€๊ธˆ์€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋‹ค๋ฅธ ์ผ์„ ํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ๋ด„์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ฆ‰์‹œ ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งก๋Š”๋‹ค. ์ˆ˜์‹ญ ์ค„์˜ ๊ตฌ์„ฑ์„ ์ž‘์„ฑํ•˜๊ณ  ํด๋ž˜์Šค ๋ช‡ ๊ฐœ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ "๋‚ด๋ถ€"์—๋Š” ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ฒƒ์ด ์žˆ๋Š”์ง€, ์ˆ˜ํ–‰ ์ค‘์ธ ์ž‘์—…์˜ ์–‘์€ ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€, ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฒ ์–ด ์„œ๋ธ”๋ฆฟ์ด๋‚˜ ์†Œ์ผ“ ๋ฐ ์ˆœ์ˆ˜ Java์—์„œ ์ˆ˜ํ–‰ํ–ˆ๋‹ค๋ฉด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š”์ง€ ์ƒ๊ฐํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์ž๋งˆ์ž -๋จธ๋ฆฌ์นด๋ฝ์ด ์ญˆ๋ผ› ์„ฐ์–ด์š” :) ๋ด„์˜ '๋งˆ๋ฒ•' ๊ฐ™์€ ํ‘œํ˜„๋„ ์žˆ์–ด์š”. ์ด๋•Œ ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๊ณณ์—์„œ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ผ์ด ์ผ์–ด๋‚˜์•ผ ํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ณณ์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋Œ€๋žต์ ์œผ๋กœ ์ถ”์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด ๋ชจ๋“  ๊ฒƒ์ด ์‹ค์ œ๋กœ ์ผ์ข…์˜ ๋งˆ๋ฒ• ๋•๋ถ„์— ์ผ์–ด๋‚˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.)) ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๊ทธ๊ฒƒ์„ ๋ชจ๋‘ ๋งˆ์ˆ ์ด๋ผ๊ณ  ๋ถ€๋ฅด์‹ญ์‹œ์˜ค. :) ๊ธ€์Ž„์š”, Spring ํ•™์Šต์„ "์œ„ํ•œ"๋‘ ๋ฒˆ์งธ ์ฃผ์žฅ์€ ํ›„๋ฐฐ๋ฅผ์œ„ํ•œ ๊ณต์„์˜ ์•ฝ 90 %์—์„œ (๋‚ด ๊ฐœ์ธ์ ์ธ ๊ด€์ฐฐ์— ๋”ฐ๋ฅด๋ฉด) ์‹ ์‚ฌ์˜ Spring ์„ธํŠธ์— ๋Œ€ํ•œ ์ง€์‹์ด๋‚˜ ์ ์–ด๋„ ์ผ๋ฐ˜์ ์ธ ์•„์ด๋””์–ด๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค data. :) ๊ธฐ๋ณธ๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. web-mvcsecurity

DI/IoC

Spring์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ฝ์œผ๋ ค๊ณ  ํ•œ๋‹ค๋ฉด ๊ฐ€์žฅ ๋จผ์ € ์ ‘ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์€ ์•„๋งˆ๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ž์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค: DI/IoC . ์ด์ œ ์ด ๊ธฐ์‚ฌ์—์„œ ์ž ์‹œ ๋ฒ—์–ด๋‚˜ Habrรฉ์— ๊ด€ํ•œ ์ด ๊ธฐ์‚ฌ๋ฅผ ์ฝ์–ด ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค ! IoC(์ œ์–ด ๋ฐ˜์ „) - ์ œ์–ด ๋ฐ˜์ „. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ˜ธ์ถœํ•  ๊ฐ์ฒด์˜ ์–ด๋–ค ๋ฉ”์„œ๋“œ๋ฅผ ์ฝ”๋“œ์— ์ง์ ‘ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋ฉฐ, ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฒฝ์šฐ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์˜ค๋ฅธ์ชฝ์— ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฐ€์žฅ ๋งŽ๋‹ค๊ณ  ์ผ์„ ๋•Œ ์ด๋ฏธ ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆœ๊ฐ„. ์ฆ‰, ์—ฌ๊ธฐ์„œ๋Š” ๋” ์ด์ƒ ์ฝ”๋“œ/ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜์ง€ ์•Š์ง€๋งŒ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜๋Š” ๊ทธ์—๊ฒŒ ํ†ต์ œ๊ถŒ์„ ์ด์ „ํ–ˆ์Šต๋‹ˆ๋‹ค(์ง€๋ฐฐ๊ถŒ ์—ญ์ „). DI๋Š” ์ข…์†์„ฑ ๋ฐ˜์ „ (์ข…์†์„ฑ ๋ฐ˜์ „, ์ฆ‰ ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์— ์ง์ ‘ ์—ฐ๊ฒฐ๋˜๋Š” ๋ชจ๋“ˆ/ํด๋ž˜์Šค ๊ฐ„์— ํ•˜๋“œ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ ค๋Š” ์‹œ๋„) ๋˜๋Š” ์ข…์†์„ฑ ์ฃผ์ž… (์ข…์†์„ฑ ์ฃผ์ž…, ์ด๋Š” cat ๊ฐ์ฒด๊ฐ€ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ) ์œผ๋กœ ์ดํ•ด๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์ธ์—์„œ ๋‹น์‹ ์ด ์ƒ์„ฑํ•œ ๋‹ค์Œ ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ๋‹น์‹ ์˜ ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌํ•˜๊ณ , Spring์€ ๋‹น์‹ ์„ ์œ„ํ•ด ๊ทธ๊ฒƒ๋“ค์„ ์ƒ์„ฑํ•˜๊ณ , ๋‹น์‹ ์€ ๊ทธ์—๊ฒŒ "์—ฌ๊ธฐ์— ๊ณ ์–‘์ด๋ฅผ ํ‚ค์šฐ๊ณ  ์‹ถ๋‹ค"๋ผ๊ณ  ๋งํ•˜๋ฉด ๊ทธ๋Š” ๊ทธ๊ฒƒ์„ ๋‹น์‹ ์˜ ๋ฉ”์†Œ๋“œ์—์„œ ๋‹น์‹ ์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ ๊ธฐ์‚ฌ์—์„œ ๋‘ ๋ฒˆ์งธ๋ฅผ ๋” ์ž์ฃผ ์ ‘ํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋นˆ๊ณผ ์ปจํ…์ŠคํŠธ

Spring์˜ ์ฃผ์š” ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋Š” bean ์ž…๋‹ˆ๋‹ค . ๋ณธ์งˆ์ ์œผ๋กœ ๊ทธ๊ฒƒ์€ ๋‹จ์ง€ ์ผ๋ถ€ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด์ผ ๋ฟ์ž…๋‹ˆ๋‹ค . ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ณ ์–‘์ด, ๊ฐœ, ์•ต๋ฌด์ƒˆ์˜ ์„ธ ๊ฐ€์ง€ ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š” ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ๋ฉ”์„œ๋“œ์— ๊ณ ์–‘์ด๊ฐ€ ํ•„์š”ํ•˜๊ณ  ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ์—๋Š” ๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ ๋•Œ๋กœ๋Š” ๊ณ ์–‘์ด์™€ ์•ต๋ฌด์ƒˆ๊ฐ€ ํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ๋ฉ”์„œ๋“œ ๊ณ ์–‘์ด์—๊ฒŒ ๋จน์ด๋ฅผ ์ฃผ๋ ค๋ฉด ํ—คํ—ค), ์–ด๋–ค ๋ฐฉ๋ฒ•์—์„œ๋Š” ์„ธ ๊ฐ€์ง€ ๊ฐœ์ฒด๊ฐ€ ๋ชจ๋‘ ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ, ๋จผ์ € ๋ฉ”์ธ์—์„œ ์ด ์„ธ ๊ฐ€์ง€ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ์ด๋ฅผ ํด๋ž˜์Šค์— ์ „๋‹ฌํ•˜๊ณ , ํด๋ž˜์Šค ๋‚ด์—์„œ ํ•„์š”ํ•œ ๋ฉ”์„œ๋“œ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์—์„œ ์ด๋Ÿฐ ์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฉ”์†Œ๋“œ์— ํ—ˆ์šฉ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด(์Œ, ๋ฌด์–ธ๊ฐ€๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค) ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ์ƒ๋‹นํžˆ ๋งŽ์ด ํŽธ์ง‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐ”๊พธ๋‹ค. ์ด์ œ ๊ทธ๋Ÿฌํ•œ ๊ฐ์ฒด๊ฐ€ 3๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ผ 300๊ฐœ ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด๋ฉด ์–ด๋–จ๊นŒ์š”? ๋Œ€์•ˆ์€ ๊ทธ๋Ÿฌํ•œ ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜์˜ ๊ณตํ†ต ๊ฐ์ฒด ๋ชฉ๋ก( List<Object> )์œผ๋กœ ์ˆ˜์ง‘ํ•˜์—ฌ ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌํ•˜๊ณ  ๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€์—์„œ ํ•„์š”ํ•œ ๊ฐ์ฒด ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ๊ทธ๋žจ์ด ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ ์ผ๋ถ€ ๊ฐœ์ฒด๊ฐ€ ์ด ๋ชฉ๋ก์— ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ (๋” ๋‚˜์œ ๊ฒƒ์€) ์‚ญ์ œ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ชฉ๋ก์—์„œ ์ƒ‰์ธ์œผ๋กœ ๊ฐœ์ฒด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ชฉ๋ก์ด ์•„๋‹Œ ๋งต์„ ์ €์žฅํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ‚ค๋Š” ํ•„์š”ํ•œ ๊ฐ์ฒด์˜ ์ด๋ฆ„์ด ๋˜๊ณ  ๊ฐ’์€ ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด๋ฆ„๋งŒ์œผ๋กœ ํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. : get("parrot") ๊ทธ๋ฆฌ๊ณ  ์ด์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ์•ต๋ฌด์ƒˆ ๊ฐœ์ฒด๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ํ‚ค๊ฐ€ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค์ด๊ณ  ๊ฐ’์ด ๊ฐ์ฒด ์ž์ฒด๋ผ๋ฉด ๋” ์ด์ƒ ๊ฐ์ฒด์˜ ์ด๋ฆ„์„ ํ‘œ์‹œํ•  ์ˆ˜ ์—†๊ณ  ๋‹จ์ˆœํžˆ ํ•„์š”ํ•œ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค๋งŒ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ง€๋„ ์œ„์— ์ผ์ข…์˜ ๋ž˜ํผ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์ด๋ฆ„์œผ๋กœ, ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ํด๋ž˜์Šค๋ณ„๋กœ ๊ฐ์ฒด๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์Šคํ”„๋ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…์ŠคํŠธ ์—์„œ ์–ป์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค . ์ปจํ…์ŠคํŠธ๋Š” Bean(๊ฐ์ฒด)์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ์ปจํ…์ŠคํŠธ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์ด๋ฆ„์ด๋‚˜ ์œ ํ˜• ๋“ฑ์œผ๋กœ ํ•„์š”ํ•œ ๋นˆ(๊ฐ์ฒด)์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์šฐ๋ฆฌ๋Š” Spring์—๊ฒŒ ์ปจํ…์ŠคํŠธ์—์„œ ํ•„์š”ํ•œ ๋นˆ์„ ์ฐพ์•„ ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌํ•˜๋„๋ก ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
public void doSomething(Cat cat) {
    ...
}
Spring์ด ์šฐ๋ฆฌ๋ฅผ ์œ„ํ•ด ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ, Spring์€ ์ปจํ…์ŠคํŠธ์—์„œ ๊ณ ์–‘์ด์˜ ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์šฐ๋ฆฌ๋Š” ๊ณ ์–‘์ด ์™ธ์— ์•ต๋ฌด์ƒˆ๋„ ํ•„์š”ํ•˜๋‹ค๊ณ  ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ณด๋‹ค ๋” ์‰ฌ์šด ์ผ์€ ์—†์Šต๋‹ˆ๋‹ค! ์šฐ๋ฆฌ๋Š” ๊ฐ„๋‹จํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์”๋‹ˆ๋‹ค:
public void doSomething(Cat cat, Parrot parrot) {
    ...
}
๊ทธ๋ฆฌ๊ณ  Spring์ด ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์—ฌ๊ธฐ์—์„œ ๊ณ ์–‘์ด์™€ ์•ต๋ฌด์ƒˆ๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์ปจํ…์ŠคํŠธ๋กœ ์ด๋™ํ•˜์—ฌ ์ด ๋‘ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์™€์„œ ์šฐ๋ฆฌ ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ณ ์‚๋ฅผ Spring์— ๋„˜๊ฒจ์คŒ์œผ๋กœ์จ ์šฐ๋ฆฌ๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ๊ทธ๊ฐ€ ํ˜ธ์ถœํ•  ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌํ•˜๋Š” ์ฑ…์ž„๋„ ๊ทธ์—๊ฒŒ ๋„˜๊ฒผ์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ์ด ์ƒ๊น๋‹ˆ๋‹ค: Spring์ด ์–ด๋–ค ๊ฐ์ฒด(bin)๋ฅผ ์ƒ์„ฑํ• ์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค (์ฆ‰, ์ž‘์—…ํ•ด์•ผ ํ•  ๊ฐ์ฒด๋ฅผ Spring์— ์•Œ๋ ค์ค๋‹ˆ๋‹ค):
  1. XML ํŒŒ์ผ/๊ตฌ์„ฑ ์‚ฌ์šฉ;
  2. Java ๊ตฌ์„ฑ ์‚ฌ์šฉ;
  3. ์ž๋™ ๊ตฌ์„ฑ.
Spring ๊ฐœ๋ฐœ์ž๋Š” ์ด๋Ÿฌํ•œ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.
  • ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•ด์•ผ ํ•˜๋Š” ๊ฐ€์žฅ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋ฐฉ๋ฒ•์€ ์ž๋™ ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค.
  • ์ž๋™ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  Bean์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•  ๊ฒฝ์šฐ Java ๊ตฌ์„ฑ(Java ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ์ƒ์„ฑ)์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
  • ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋ฐฉ์‹์€ XML ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์‹ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
๊ฒŒ๋‹ค๊ฐ€ Spring์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž๋™์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž‘์—…์„ Spring์—์„œ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜์„ธ์š”. ์ผ๋ถ€ ํŠน์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ Java ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•˜๊ณ , ์ถ”๊ฐ€๋กœ ์ผ๋ถ€ ๋ ˆ๊ฑฐ์‹œ ๊ตฌ์„ฑ์„ xml ํ˜•์‹์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ๋ชจ๋“  ์ž‘์—…์€ ๋งค์šฐ ์œ ์—ฐํ•˜๊ฒŒ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ž˜๋„ ์ž๋™ ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ž๋™ ์„ค์ •์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ €๋Š” ์ž๋™ ๊ตฌ์„ฑ๊ณผ Java ๊ตฌ์„ฑ๋งŒ ๊ณ ๋ คํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. xml ๊ตฌ์„ฑ์€ ์ด๋ฏธ ์ธํ„ฐ๋„ท์˜ ๊ฑฐ์˜ ๋ชจ๋“  Spring ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ Java ๊ตฌ์„ฑ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ณ  ๋‚˜๋ฉด ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” xml ํŒŒ์ผ์„ "์ฝ๋Š”" ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž๋™ ๊ตฌ์„ฑ์€ ์ž‘์—…์— ํ•„์š”ํ•œ ๊ฐ์ฒด๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด์ผ ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค . ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ๋งค์šฐ ํŠน์ •ํ•œ ๋กœ์ง์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋˜๋Š” ์ž๋™ ๊ตฌ์„ฑ์—์„œ ์„ ํƒ๋˜๋Š” ํ•„์š”ํ•œ ์ฃผ์„์œผ๋กœ ์ผ๋ถ€ ํด๋ž˜์Šค๋ฅผ ํ‘œ์‹œํ•  ๊ธฐํšŒ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ Java ๊ตฌ์„ฑ์—์„œ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. . ๋‹ค์Œ ๋ถ€๋ถ„ ์—์„œ๋Š” Maven ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์—ฌ๊ธฐ์— ๋‘ ๊ฐœ์˜ ์ค‘์•™ ์Šคํ”„๋ง ๋ชจ๋“ˆ์„ ์—ฐ๊ฒฐํ•˜๊ณ  ์ฒซ ๋ฒˆ์งธ Bean์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION