๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐ŸŒˆ Framework/Spring (2)

deVlog

[Spring] ์Šคํ”„๋ง ๋นˆ ์Šค์ฝ”ํ”„ ์™„๋ฒฝ ๊ฐ€์ด๋“œ

๋ชฉ์ฐจ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๋นˆ(Bean)์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ์„ ์ด๋ฃจ๋Š” ๊ฐ์ฒด๋กœ, IoC(Inversion of Control) ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ๊ด€๋ฆฌ๋œ๋‹ค. ์Šคํ”„๋ง์€ ์ด๋Ÿฌํ•œ ๋นˆ๋“ค์˜ ์ƒ๋ช…์ฃผ๊ธฐ์™€ ๊ฐ€์‹œ์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์Šค์ฝ”ํ”„(Scope)๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๊ฐ ์Šค์ฝ”ํ”„์˜ ํŠน์ง•, ์‚ฌ์šฉ ์‚ฌ๋ก€, ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๋ฐ ์ฃผ์˜์‚ฌํ•ญ์„ ์ž์„ธํžˆ ๋‹ค๋ฃจ์–ด ๋ณด์ž. ๐ŸŒฑ ์Šคํ”„๋ง ๋นˆ ์Šค์ฝ”ํ”„์˜ ์ข…๋ฅ˜์‹ฑ๊ธ€ํ†ค(Singleton): ๊ธฐ๋ณธ ์Šค์ฝ”ํ”„๋กœ, ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ๋นˆ์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‹จ ํ•˜๋‚˜๋งŒ ์ƒ์„ฑ๋˜์–ด ๊ณต์œ ๋œ๋‹ค.ํ”„๋กœํ† ํƒ€์ž…(Prototype): ๋นˆ์ด ์š”์ฒญ๋  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.์š”์ฒญ(Request): ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ HTTP ์š”์ฒญ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.์„ธ์…˜(Session): ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ HTTP ์„ธ์…˜๋งˆ๋‹ค ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค..

๐ŸŒˆ Framework/Spring 2025. 4. 4. 22:51
[Spring] Bean Scope(๋นˆ ์Šค์ฝ”ํ”„) ์ข…๋ฅ˜

๋ชฉ์ฐจ     โ˜บ๏ธ Bean Scope ๋ž€?๋Œ€๋ถ€๋ถ„์€ ์Šคํ”„๋ง ๋นˆ์ด ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑ๋˜์–ด์„œ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์œ ์ง€๋œ๋‹ค๊ณ  ์•Œ๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค.์ด๊ฒƒ์€ ์Šคํ”„๋ง ๋นˆ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ํ†ค ์Šค์ฝ”ํ”„๋กœ ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ ์ด์œ ๋Š” ํ•˜๋‚˜๋งŒ ๋งŒ๋“ค์–ด๋‘๊ณ  ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ์ธ๋ฐ, ์ด ๋•Œ๋ฌธ์— Bean์— ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๊ตฌํ˜„ ๊ธฐ๋Šฅ ๋“ฑ์˜ ํ•„์š”์— ๋”ฐ๋ผ์„œ ๋น„์‹ฑ๊ธ€ํ†ค์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ์ด๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ scope ๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Spring ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ Bean Scope ๋“ค์ด ์กด์žฌํ•œ๋‹ค.    ๐Ÿ”ญ Bean Scope ์˜ ์ข…๋ฅ˜์‹ฑ๊ธ€ํ†ค(Singleton)Spring ์—์„œ ๊ธฐ๋ณธ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜ ์‹œ์ž‘๊ณผ ์ข…๋ฃŒ๊นŒ์ง€ ์œ ..

๐ŸŒˆ Framework/Spring 2024. 12. 4. 15:53