โปAspect๋ก ๋ชจ๋ํํ๊ณ ํต์ฌ์ ์ธ ๋น์ฆ๋์ค ๋ก์ง์์ ๋ถ๋ฆฌํ์ฌ ์ฌ์ฌ์ฉํ๊ฒ ๋ค๋ ๊ฒโป
- ๊ฐ์ฒด์งํฅ์ ๊ธฐ๋ณธ์์น์ ์ ์ฉํ์ฌ๋ ํต์ฌ๊ธฐ๋ฅ์์ ๋ถ๊ฐ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํด์ ๋ชจ๋ํํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต๋ค.
- AOP๋ ์ ํ๋ฆฌ์ผ์ด์ ์์์ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ(๊ธฐ๋ฅ์ ๋ถ๋ฆฌ), ํต์ฌ์ ์ธ ๊ธฐ๋ฅ์์ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ๋ค.
- ๋ถ๋ฆฌํ ๋ถ๊ฐ๊ธฐ๋ฅ์ ์์คํํธ(Aspect) ๋ผ๋ ๋ ํนํ ๋ชจ๋ํํ๋ก ๋ง๋ค์ด์ ์ค๊ณํ๊ณ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ
์ค์ง์ ์ผ๋ก ๋ถ๊ฐ๊ธฐ๋ฅ์ ๋ด์ ๊ตฌํ์ฒด
Aspect๊ฐ ํ ์ง๋ฅผ ์ ์
๋ฌด์์ ์ธ์
ํ๊ฒ ์ค๋ธ์ ํธ์ ์ข ์๋์ง ์๊ธฐ ๋๋ฌธ์, ๋ถ๊ฐ๊ธฐ๋ฅ์๋ง ์ง์คํ ์ ์์
๋ถ๊ฐ๊ธฐ๋ฅ์ด ์ ์ฉ๋ ์ ์ ์ ํ๋ ๋ฐฉ๋ฒ
๋์(Method)
Advice๋ฅผ ์ ์ฉํ JoinPoint๋ฅผ ์ ๋ณํ๋ ๊ธฐ๋ฅ์ ์ ์ํ ๋ชจ๋
Advice๊ฐ ์ ์ฉ๋ ์ ์๋
์์น
Spring์์๋ ๋ฉ์๋ ์กฐ์ธํฌ์ธํธ๋ง ์ ๊ณตํ๋ค.
ํ๊ฒ ๊ฐ์ฒด๊ฐ ๊ตฌํํ ๋ชจ๋ ๋ฉ์๋๋ ์กฐ์ธ ํฌ์ธํธ๊ฐ ๋๋ค.