개발/spring

[AOP] AOP 적용 κ΄€λ ¨ 이슈

mungmang 2024. 5. 14. 00:44
λ°˜μ‘ν˜•

AOP κ°€ 적용된 ν΄λž˜μŠ€μ—μ„œ(=포인트컷의 영ν–₯을 받은 클래슀) ν”„λ‘μ‹œκ°€ μ μš©μ•ˆλ˜λŠ” 상황이 μžˆμ—ˆμŒ!

SampleService 클래슀의 sample() λ©”μ†Œλ“œ 내에 sampleRecall1(), sampleRecall2() λŠ” λͺ¨λ‘ AOP 의 영ν–₯을 받을거라 μƒκ°ν–ˆλŠ”λ°, κ·Έλ ‡μ§€κ°€ μ•Šμ•˜μŒ!
μ΄μœ λŠ”, AOPκ°€ ν”„λ‘μ‹œ κΈ°λ°˜μ΄μ˜€κΈ° λ•Œλ¬Έμ΄μ˜€μŒ!

ν”„λ‘μ‹œ κ°œλ…μ„ μ‚¬μš©ν•˜λŠ” 경우, ν”„λ‘μ‹œ 클래슀(SampleServiceV2ProcxyImpl)κ°€ 핡심기λŠ₯ 클래슀(SampleServiceV2)λ₯Ό μ£Όμž…λ°›μ•„ ν”„λ‘μ‹œ 클래슀의 λ©”μ†Œλ“œ(SampleServiceV2ProcxyImpl 의 sample())λ₯Ό ν˜ΈμΆœν•œ ν›„, 핡심기λŠ₯ 클래슀의 λ©”μ†Œλ“œ(SampleServiceV2 의 sample())λ₯Ό ν˜ΈμΆœν•˜κ²Œ 됨  
= 핡심기λŠ₯ 클래슀의 λ©”μ†Œλ“œ(SampleServiceV2 의 sample()) μ‹€ν–‰μ‹œμ  κΈ°μ€€μœΌλ‘œ ν”„λ‘μ‹œ(SampleServiceV2ProcxyImpl 의 sample())λ₯Ό μ μš©ν• μˆ˜μžˆλ‹€λŠ”κ±Έ μ•Œμˆ˜μžˆμŒ

λ”°λΌμ„œ 핡심기λŠ₯ 클래슀의 λ©”μ†Œλ“œ(SampleServiceV2 sample()) λ‚΄μ˜ λ‹€λ₯Έ λ©”μ†Œλ“œλ“€(SampleServiceV2 의 sampleRecall1(), sampleRecall2())은 ν”„λ‘μ‹œμ˜ 영ν–₯을 λ°›μ§€ μ•Šκ²Œ 됨!

λ°˜μ‘ν˜•