Self-call 우회책은 결합도와 지원 join point가 다르다

annotation을 살리는 최소 변경보다 장기적으로 읽히는 responsibility boundary를 우선한다.

대안장점비용
Bean 분리명시적 경계object 증가
TransactionTemplateself 영향 없음programmatic 결합
AopContext변경 작음thread-local·Spring 결합