
구조 변경
- 내부 호출이 발생하지 않도록 구조를 변경하는 것
- 권장하는 방법
예)
@Slf4j
@Component
@RequiredArgsConstructor
public class CallServiceV3 {
private final InternalService internalService;
public void external() {
log.info("call external");
internalService.internal();
}
}
@Slf4j
@Component
public class InternalService {
public void internal() {
log.info("call internal");
}
}
@Slf4j
@SpringBootTest
@Import(CallLogAspect.class)
class CallServiceV3Test {
@Autowired
CallServiceV3 callService;
@Test
void external() {
callService.external();
}
}

- 결과
- 이 방법도 괜찮고
- 클라이언트에서 둘다 따로 호출하는 것도 방법이다
