๋ฐฑ์๋ ๊ฐ๋ฐ/SpringAOP
3
Spring ๊ณต์๋ฌธ์ Concept of AOP ๋ฒ์ญ
์๋ณธ ๋ฌธ์AOP๊ฐ ๋ด๊ณ ์๋ ๋ฐ์AOP๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ช๋ช ์ค์ฌ์ ์ธ ์๊ฐ๋ค๊ณผ ์ฉ์ด๋ค์ ์ ์ํ๋ ๊ฒ์ผ๋ก ์์ํด๋ณด์! ์ฌ๊ธฐ์ ์ฐ์ด๋ ์ฉ์ด๋ค์ ์คํ๋ง ๋ง์ถค์ด ์๋๋ค. ๋ฐ๋ผ์ ๋ถํํ๊ฒ๋ AOP์ ์ฉ์ด๋ค์ ํน๋ณํ ์ง๊ด์ ์ด์ง ๋ชปํ๋ค. ํ์ง๋ง, ๋ง์ฝ ์คํ๋ง์ด AOP ๊ฐ๋
๋์
์ ์ํ ๊ทธ๊ฒ๋ง์ ์ฉ์ด๋ฅผ ์ผ๋ค๋ฉด, ๊ทธ๊ฒ์ด ๋ ์ฐ๋ฆฌ๋ฅผ ํผ๋์ค๋ฝ๊ฒ ๋ง๋ค ๊ฒ์ด๋ค!1. ์ฉ์ด์ค๋ช
Aspect(๊ด์ ): ๋ณต์์ Class๋ค์ ๊ฐ๋ก์ง๋ฅด๋ ๊ด์ฌ์ฌ์ ๋ํ ๋ชจ๋ํ๋ฅผ ์๋ฏธํ๋ค.(๊ธฐ์กด์ ์ฐ๋ฆฌ๊ฐ ์๋ฒ ๋ก์ง์ ๊ณต๋ถํ ๋, ๊ธฐ๋ฅ์ ๋ฌด์์ด๋ผ ์๊ฐํ๋๊ฐ? Service Class ํ๋๊ฐ ๊ณง ๊ธฐ๋ฅ์ด๋ผ๊ณ ์๊ฐํ๋ค. ํ์ง๋ง AOP์์๋ ๊ด์ ์ ๋ฌ๋ฆฌํ์ฌ, ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์๊ตฌ๊ฐ ๋ค์ด์์ Controller -> ๋ณต์์ ์๋น์ค ๋ก์ง -> ๋ค์ ์๋ต ๊น์ง์ ์ ๊ณผ์ ์ ํ..
2024.03.12
๋ฐฑ์๋ ๊ฐ๋ฐ/SpringAOP
Weaving๊ณผ Proxy์ ๋ํ์ฌ
๊นํ๋ธ์๋ ์ ๋ฆฌ ์ฌ๋ ค๋์์ต๋๋ค.์ ์๋ฏผ_๊นํ๋ธ ์ฃผ์Weaving๊ณผ Proxy ๊ฐ์ฒด์ ๋ํ์ฌ์ด๋ฒ ์ฅ์์ ์์๋ณผ ๊ฒ:AOP์์ Weaving์ด๋ ๋ฌด์์ธ๊ฐ? Proxy์์ ๊ด๊ณ๋ ์ด๋ป๊ฒ ๋๋๊ฐ?Proxy ๊ฐ์ฒด๋ ๋ฌด์์ด๊ณ ? AOP์์ ์ฌ์ฉ๋๋ ์๋ฆฌ๋ ๋ฌด์์ธ๊ฐ?1. AOP์์ Weaving์ด๋ ๋ฌด์์ธ๊ฐ?AOP์์ weaving์ด๋ ๋ถ๊ฐ๊ธฐ๋ฅ(advice)์ ๊ทธ๊ฒ์ด ํ๊ฒํ
ํ๋ ๋ณธ ๊ธฐ๋ฅ์ ์ฅ์ฐฉํ๋ ์์
์ ๋งํ๋ค. ๋ฐ๋ผ์ weaving์ ๋ณธ๊ธฐ๋ฅ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉด์ ๋ถ๊ฐ๊ธฐ๋ฅ์ ์ฐ๊ฒฐ์ํค๋ AOP์ ํต์ฌ ์์
์ด๋ค.weaving์ ์คํ๋๋ ์์ ์ ๋ฐ๋ผ 3๊ฐ์ง๋ก ์ข
๋ฅ๊ฐ ๋๋๋ค.(1) Compile Time Weaving(CTW)Spring์์ AOP๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์๋ AspectJ๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๋ ๊ฒ๊ณผ, Spring A..
2024.03.12
๋ฐฑ์๋ ๊ฐ๋ฐ/SpringAOP
Spring AOP ๊ณต์ ๋ฌธ์ ์ฝ๊ณ ์ ๋ฆฌ - Concept-of-AOP
Spring AOP ๊ณต์ ๋ฌธ์ ์ฝ๊ณ ์ค์ค๋ก ์ ๋ฆฌํจ.๊นํ๋ธ์๋ ์ฌ๋ ค๋์https://github.com/dalcheonroadhead/Spring-framework-theory/blob/main/AOP/relatedStudy/conceptOfAOP.mdConcept-of-AOP ์ค์ค๋ก ์ ๋ฆฌ๋ชฉ์ฐจAOP๋ ๋ฌด์์ธ๊ฐ?๊ทธ๋ฆผ๊ณผ ํจ๊ป ์์๋ณด๋ ์ฉ์ด ์ ๋ฆฌAdviceJoin PointpointcutAspectIntroductionTarget ObjectAOP proxyWeavingCross-cutting concerns1. AOP๋ ๋ฌด์์ธ๊ฐ?Aop๋ ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Aspect Oriented Programming)์ ๋งํ๋ค. Java๋ผ๋ ์ธ์ด๋ฅผ ๋ฐฐ์ธ ๋ ์ฐ๋ฆฌ๋ ์๋ฐ๊ฐ ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ(Object Oriented ..
2024.03.12
๋ฐฑ์๋ ๊ฐ๋ฐ/SpringAOP