์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[Spring] Spring Bean Life Cycle

Spring

by mr_woong 2022. 6. 9. 00:21

๋ณธ๋ฌธ

 

Spring Bean ์ด๋ž€?

Spring Ioc container ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ๋œปํ•จ

Spring Ioc container ์— ์˜ํ•ด ์ธ์Šคํ„ด์Šคํ™”, ๊ด€๋ฆฌ, ์ƒ์„ฑ๋œ๋‹ค.

 

Ioc ๋ž€?

์ผ๋ฐ˜์ ์œผ๋กœ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์€ ๋ชจ๋“  ์ž‘์—…์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด A ๊ฐ์ฒด์—์„œ B ๊ฐ์ฒด์— ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, B ๊ฐ์ฒด๋ฅผ ์ง์ ‘ A ๊ฐ์ฒด ๋‚ด์—์„œ ์ƒ์„ฑํ•˜๊ณ  ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผํ•œ๋‹ค.

ํ•˜์ง€๋งŒ Ioc๊ฐ€ ์ ์šฉ๋œ ๊ฒฝ์šฐ, ๊ฐ์ฒด์˜ ์ƒ์„ฑ์„ ํŠน๋ณ„ํ•œ ๊ด€๋ฆฌ ์œ„์ž„ ์ฃผ์ฒด์— ๋งก๊ธด๋‹ค. ์ด ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๋Š” ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ , ๊ฐ์ฒด์˜ ์ƒ๋ช… ์ฃผ๊ธฐ๋ฅผ ์ปจํŠธ๋กคํ•˜๋Š” ์ฃผ์ฒด๋Š” ๋‹ค๋ฅธ ์ฃผ์ฒด๊ฐ€ ๋œ๋‹ค.

์ฆ‰, ์‚ฌ์šฉ์ž์˜ ์ œ์–ด๊ถŒ์„ ๋‹ค๋ฅธ ์ฃผ์ฒด์— ๋„˜๊ธฐ๋Š” ๊ฒƒ์„ Ioc(์ œ์–ด์˜ ์—ญ์ „) ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

Bean :  Spring ์ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด

Spring Ioc container : Bean ์„ ๋ชจ์•„๋‘” ํ†ต

 

Spring Bean Life Cycle

๊ฐ์ฒด ์ƒ์„ฑ > ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…

์Šคํ”„๋ง ๋นˆ์€ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์ด ๋๋‚œ ํ›„์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋จ

๋”ฐ๋ผ์„œ ์ดˆ๊ธฐํ™” ์ž‘์—…์€ ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์ด ๋ชจ๋‘ ์™„๋ฃŒ๋˜๊ณ  ๋‚œ ํ›„์— ํ˜ธ์ถœํ•ด์•ผํ•จ

์Šคํ”„๋ง์€ ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์ด ์™„๋ฃŒ๋˜๋ฉด ์Šคํ”„๋ง ๋นˆ์—๊ฒŒ ์ฝœ๋ฐฑ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ดˆ๊ธฐํ™” ์‹œ์ ์„ ์•Œ๋ ค์ฃผ๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ

๋˜ํ•œ, ์Šคํ”„๋ง์€ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜๊ธฐ ์ง์ „์— ์†Œ๋ฉธ ์ฝœ๋ฐฑ์„ ์คŒ์œผ๋กœ์จ ์•ˆ์ „ํ•˜๊ฒŒ ์ข…๋ฃŒ ์ž‘์—…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

 

Spring Bean Event Life Cycle

์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ > ์Šคํ”„๋ง ๋นˆ ์ƒ์„ฑ > ์˜์กด๊ด€๊ณ„ ์ฃผ์ž… > ์ดˆ๊ธฐํ™” ์ฝœ๋ฐฑ > ์‚ฌ์šฉ > ์†Œ๋ฉธ์ „ ์ฝœ๋ฐฑ > ์Šคํ”„๋ง ์ข…๋ฃŒ

 

** ์ดˆ๊ธฐํ™” ์ฝœ๋ฐฑ : ๋นˆ์ด ์ƒ์„ฑ๋˜๊ณ , ๋นˆ์˜ ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์ด ์™„๋ฃŒ๋œ ํ›„ ํ˜ธ์ถœ

** ์†Œ๋ฉธ์ „ ์ฝœ๋ฐฑ : ๋นˆ์ด ์†Œ๋ฉธ๋˜๊ธฐ ์ง์ „์— ํ˜ธ์ถœ

 

์Šคํ”„๋ง์€์ด ์ง€์›ํ•˜๋Š” ๋นˆ ์ƒ๋ช…์ฃผ๊ธฐ ์ฝœ๋ฐฑ 3๊ฐ€์ง€

- ์ธํ„ฐํŽ˜์ด์Šค(InitializingBean, DisposableBean)

- ์„ค์ • ์ •๋ณด์— ์ดˆ๊ธฐํ™” ๋ฉ”์„œ๋“œ, ์ข…๋ฃŒ ๋ฉ”์„œ๋“œ ์ง€์ •

- @PostConstruct, @PreDestory ์–ด๋…ธํ…Œ์ด์…˜ ์ง€์›

 

 

 

 

 

 

 

<Reference>

https://melonicedlatte.com/2021/07/11/232800.html

 

์Šคํ”„๋ง ๋นˆ(Spring Bean)์ด๋ž€? ๊ฐœ๋… ์ •๋ฆฌ - Easy is Perfect

 

melonicedlatte.com

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/lecture/55383?tab=note&volume=0.85&quality=1080&speed=1.25 

 

์Šคํ”„๋ง ํ•ต์‹ฌ ์›๋ฆฌ - ๊ธฐ๋ณธํŽธ - ์ธํ”„๋Ÿฐ | ํ•™์Šต ํŽ˜์ด์ง€

์ง€์‹์„ ๋‚˜๋ˆ„๋ฉด ๋ฐ˜๋“œ์‹œ ๋‚˜์—๊ฒŒ ๋Œ์•„์˜ต๋‹ˆ๋‹ค. ์ธํ”„๋Ÿฐ์„ ํ†ตํ•ด ๋‚˜์˜ ์ง€์‹์— ๊ฐ€์น˜๋ฅผ ๋ถ€์—ฌํ•˜์„ธ์š”....

www.inflearn.com

 

'Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Spring] Dependency Injection  (0) 2022.06.09
[Spring] Filter ์™€ Interceptor ์ฐจ์ด  (0) 2022.06.09
[Spring] Spring Web MVC  (0) 2022.06.08
[Spring] Spring Framework ์™€ Spring Boot์˜ ์ฐจ์ด  (0) 2022.06.07
Transaction์ด๋ž€?  (0) 2022.04.15

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ

๋Œ“๊ธ€ ์˜์—ญ