[Spring] DI & AOP ๊ฐœ๋…

DI (Dependency Injection)๋ž€,๊ฐ์ฒด๊ฐ„์˜ ์˜์กด ๊ด€๊ณ„๋ฅผ ๊ฐ์ฒด ์ž์‹ ์ด ์•„๋‹Œ ์™ธ๋ถ€ ์กฐ๋ฆฝ๊ธฐ๊ฐ€ ์ˆ˜ํ–‰ ํ•ด ์ค€๋‹ค๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. DI ํŒจํ„ด์„ ์ ์šฉํ•  ๊ฒฝ์šฐ ํด๋ž˜์Šค๋Š” ์˜์กดํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌ๋ฐ›๊ธฐ ์œ„ํ•œ์„ค์ • ๋ฉ”์„œ๋“œ (setter method)๋‚˜ ์ƒ์„ฑ์ž๋ฅผ ์ œ๊ณต ํ•  ๋ฟ, ์ง์ ‘ ์˜์กดํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ฐพ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜์กด(Dependency)ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์กฐ๋ฆฝ๊ธฐ๊ฐ€ ์‚ฝ์ž…(Injection)ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฐฉ์‹์„ DI ํŒจํ„ด์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. DI ํŒจํ„ด ์‚ฌ์šฉ ์‹œ ๋‹จ์œ„ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๊ฐœ๋ฐœ ์†๋„๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฐ ๋„์›€๋˜๊ธฐ ๋•Œ๋ฌธ์—DI ํŒจํ„ด์ด ๋‹จ์ผ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ๋„์›€์ค๋‹ˆ๋‹ค. DI ํŒจํ„ด์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด 2๊ฐ€์ง€ ๋ฐฉ์‹์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. 1. ์ƒ์„ฑ์ž (Constructor-arg)2. ๋ฉ”์†Œ๋“œ (prop..

Framework/Spring 2017. 7. 21. 15:33
[Spring] ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ž€? (Spring Framework)

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ž€, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋‹ˆ๋‹ค. ์Šคํ”„๋ง์˜ ํŠน์ง•์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. ์Šคํ”„๋ง์€ ๊ฒฝ๋Ÿ‰ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ๋‹ด๊ณ ์žˆ์Šต๋‹ˆ๋‹ค. 2. DI (Dependency Injection)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. 3. AOP (Aspect Oriented Programming)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. 4. POJO (Plan Old Java)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. 5. ํŠธ๋žœ์ ์…˜ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ผ๊ด€๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 6. ์˜์†์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ API๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. 7. ๋‹ค์–‘ํ•œ API์— ๋Œ€ํ•œ ์—ฐ๋™์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ”„๋ง library ํด๋” ๊ตฌ์„ฑ * dist : ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐ ๋ชจ๋“ˆ๋ณ„ jarํŒŒ์ผ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. * docs : API๋ฌธ์„œ ๋ฐ ๋ ˆํผ๋Ÿฐ์Šค ๋ฌธ์„œ* projects..

Framework/Spring 2017. 7. 21. 15:21
[SpringBoot] Spring๊ณผ Spring Boot์˜ ์ฐจ์ด

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

Framework/SpringBoot 2017. 7. 12. 16:22
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/01   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ