Summary and What's next?

๋‹จ์ˆœํžˆ ์Šคํ”„๋ง์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ์ฒด์ง€ํ–ฅ์— ๋•Œํ•œ ๋†’์€ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค!

์Šคํ”„๋ง ํ•ต์‹ฌ ์›๋ฆฌ ์ดํ•ด 1,2 ์ˆœ์ˆ˜ ์ž๋ฐ”๋กœ๋งŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์„ ๋•Œ์˜ ๋ฌธ์ œ์  : ๋‹จ์ˆœํžˆ ๊ฐ์ฒด์ง€ํ–ฅ ๋‹คํ˜•์„ฑ๋งŒ ๊ฐ€์ง€๊ณ  ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ์ ์— ๋ด‰์ฐฉํ•œ๋‹ค. => DI ์ปจํ…Œ์ด๋„ˆ์™€ ์˜์กด ๊ด€๊ณ„ ์ฃผ์ž…์ด ์žˆ์–ด์•ผ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„(ํ”„๋กœ๊ทธ๋ž˜๋ฐ)์„ ์ œ๋Œ€๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค!

์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์™€ ์Šคํ”„๋ง ๋นˆ ์ด ๋ชจ๋“  ๊ฒƒ์„ ํ’ˆ๊ณ  ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋ผ๋Š” ๊ฒƒ์ด ์กด์žฌํ•˜๊ณ , ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋นˆ ์ด๋ผ๋Š” ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ๋“ฑ๋กํ•˜๋Š”์ง€, ์˜์กด ๊ด€๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ์ฃผ์ž…๋˜๋Š”์ง€ ๋ฐฐ์› ๋‹ค.

์‹ฑ๊ธ€ํ†ค ์ปจํ…Œ์ด๋„ˆ ์Šคํ”„๋ง์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ํ†ค ์ปจํ…Œ์ด๋„ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์€ ์‹ฑ๊ธ€ํ†ค์œผ๋กœ ์œ ์ง€ํ•ด์ค€๋‹ค. =>@Configuration๊ณผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

์ปดํฌ๋„ŒํŠธ ์Šค์บ” @ComponentScan, @Component, @Autowired

์˜์กด๊ด€๊ณ„ ์ž๋™ ์ฃผ์ž… 1. Autowired(required=false) : ๋ฉ”์„œ๋“œ ์ž์ฒด๋ฅผ ์‹คํ–‰X 2. Nullable : Null์„ ๋ฆฌํ„ด 3. Optional : ์ž๋ฐ”8๋ถ€ํ„ฐ ์ง€์›ํ•˜๋Š” Optional์€ ๊ฐ์ฒด๋ฅผ Optional๋กœ ํ•œ๋ฒˆ ๋” ๊ฐ์‹ธ๊ณ  Null์ด๋ผ๋„ ์ด Optional์ด๋ผ๋Š” ๊ฒƒ์œผ๋กœ ํ•œ๋ฒˆ ๋–  ๊ฐ์‹ธ์„œ ์ œ๊ณตํ•œ๋‹ค.

๋นˆ ์ƒ๋ช…์ฃผ๊ธฐ ์ฝœ๋ฐฑ DI ์ดํ›„ ์ดˆ๊ธฐํ™”, ์ข…๋ฃŒ ์ฝœ๋ฐฑ 1. ์ธํ„ฐํŽ˜์ด์Šค InitializingBean, DisposableBean 2. ๋นˆ ๋“ฑ๋ก ์ดˆ๊ธฐํ™”, ์†Œ๋ฉธ ๋ฉ”์„œ๋“œ : ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์ž์œ ๋กญ๋‹ค. ์™ธ๋ถ€๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์——๋„ ์ ์šฉ๊ฐ€๋Šฅ 3. ์ž๋ฐ”์—์„œ ์ง€์›ํ•˜๋Š” ์• ๋…ธํ…Œ์ด์…˜ @PostConstruct, @PreDestory

๋นˆ ์Šค์ฝ”ํ”„ 1. Singleton(๋””ํดํŠธ) 2. Prototype 3. Web - request, session, application, websocket

Last updated