spring aop(3)
-
Spring AOP[3] @Aspect ์ด๋ ธํ ์ด์ ์ ์ด์ฉํ AOP ๊ตฌํ, Advice ์ ์ํ๋ ์ด๋ ธํ ์ด์ ์ข ๋ฅ, Aspect ํด๋์ค ์์ฑ ๋ฐ ํ ์คํธ
1. Spring AOP ๊ตฌํ ๋ฐฉ๋ฒ 1๏ธโฃ XML ๊ธฐ๋ฐ์ POJO ํด๋์ค๋ฅผ ์ด์ฉํ AOP ๊ตฌํ : ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ Advice ํด๋์ค๋ฅผ ์์ฑํ๊ณ , XML ์ค์ ํ์ผ์ ์ ์ด์ฉํด์ Aspect๋ฅผ ์ค์ ํ๋ค. (Advice์ Pointcut์ ์ค์ ํจ.) 2๏ธโฃ @Aspect ์ด๋ ธํ ์ด์ ์ ์ด์ฉํ AOP ๊ตฌํ โ : @Aspect ์ด๋ ธํ ์ด์ ์ ์ด์ฉํด์ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ Aspect ํด๋์ค๋ฅผ ์์ฑํ๋ค. Aspect ํด๋์ค์๋ Advice๋ฅผ ๊ตฌํํ๋ ๋ฉ์๋์ Pointcut์ ํฌํจํ๋ค. ๊ทธ๋ฆฌ๊ณ XML ์ค์ ํ์ผ์ ์ ์ค์ ํ๋ค. 2. Aspect ํด๋์ค ์ ์ธ ๋ฐ ์ค์ ํ๊ธฐ : Aspect ํด๋์ค์๋ 4๊ฐ์ง ์ ํ(Before, AfterReturning, AfterThrowing, After)์ Advice์ Poi..
2021.11.15 -
Spring AOP [2] Advice, AOP ์ค์ ๋ฐ ํ ์คํธ, PointCut ํํ์
1. Spring AOP ๊ตฌํ ๋ฐฉ๋ฒ 1๏ธโฃ XML ๊ธฐ๋ฐ์ POJO ํด๋์ค๋ฅผ ์ด์ฉํ AOP ๊ตฌํ : ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ Advice ํด๋์ค๋ฅผ ์์ฑํ๊ณ , XML ์ค์ ํ์ผ์ ์ ์ด์ฉํด์ Aspect๋ฅผ ์ค์ ํ๋ค. (Advice์ Pointcut์ ์ค์ ํจ.) 2๏ธโฃ @Aspect ์ด๋ ธํ ์ด์ ์ ์ด์ฉํ AOP ๊ตฌํ : @Aspect ์ด๋ ธํ ์ด์ ์ ์ด์ฉํด์ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ Aspect ํด๋์ค๋ฅผ ์์ฑํ๋ค. Aspect ํด๋์ค์๋ Advice๋ฅผ ๊ตฌํํ๋ ๋ฉ์๋์ Pointcut์ ํฌํจํ๋ค. ๊ทธ๋ฆฌ๊ณ XML ์ค์ ํ์ผ์ ์ ์ค์ ํ๋ค. 2. Advice ์ข ๋ฅ 1๏ธโฃ Aroud Advice : Target์ ๋ฉ์๋๊ฐ ํธ์ถ๋๊ธฐ ์ด์ (Before) ์์ ๊ณผ ์ดํ (After) ์์ ์ ๋ชจ๋ ์ฒ๋ฆฌํด์ผํ ํ์๊ฐ ์๋ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ์ํ..
2021.11.15 -
Spring AOP(Aspect Oriented Programming) ๊ฐ๋ ๋ฐ ์ฉ์ด, AspectJ, Spring AOP ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
1. Spring AOP 1๏ธโฃ ํต์ฌ๊ธฐ๋ฅ๊ณผ ๋ถ๊ฐ๊ธฐ๋ฅ ํต์ฌ ๊ธฐ๋ฅ์ ์ ๋ฌด ๋ก์ง์ ํฌํจํ๋ ๊ธฐ๋ฅ์ด๊ณ , ๋ถ๊ฐ ๊ฐ๋ฅ์ ํต์ฌ ๊ธฐ๋ฅ์ ๋์์ฃผ๋ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ(๋ก๊น , ๋ณด์ ๋ฑ)์ ๋ถ๊ฐ๊ธฐ๋ฅ(cross-cutting Concerns)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. 2๏ธโฃ AOP(Aspect Oriented Programming) AOP๋ ์ ํ๋ฆฌ์ผ์ด์ ์์์ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ, ์ฆ ํต์ฌ์ ์ธ ๊ธฐ๋ฅ์์ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ๋ค. ๋ฐ๋ผ์ AOP์ ๋ชฉ์ ์ ํ๋ก๊ทธ๋๋จธ๋ค์ ์ผ๋ ์ฌํญ์ ๋ณ๋์ ๊ด์ฌ์ฌ(Aspect)๋ก ๋ถ๋ฆฌํ์ฌ ์ฝ๋ ๊ฐ๋ฐํ ๋ ํต์ฌ ๊ธฐ๋ฅ์ ๋ ์ง์คํ ์ ์๋๋ก ํด์ฃผ๋ ๊ฒ์ด๋ค! => Separation of Cross-Cutting Concern 2. Spring AOP ์ฉ์ด 1๏ธโฃ Aspect : Aspect๋ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ์ํ ์ฝ๋์ธ Ad..
2021.11.15