스프링 DB 2편

DTO 패키지 순환 참조 관리

만약 DTO가 컨르롤러 서비스 단에서 멈춘다면 DTO는 서비스 단에 놔도 괜찮다.

만약 DTO가 repository에서 이용되는건데 서비스 단에 놔둔다면 서비스가 repository에 의존하는데 repository는 dto를 이용하기 위해서 서비스 단을 참조해야하는 순환참조관계가 형성되기 때문에 이때는 dto를 repository 패키지에 두는 게 맞다.

@EventListener(ApplicationReadyEvent.class) : 스프링 컨테이너가 완전히 초기화를 다 끝내고, 실행 준비가 되었을 때 발생하는 이벤트이다. 스프링이 이 시점에 해당 어노테이션이 붙은 initDat() 메서드를 호출해준다.

이 기능 대신 @PostConstruct를 사용할 경우 AOP 같은 부분이 아직 다 처리되지 않은 시점에 호출될 수 있기 때문에 문제가 발생할 수 있다.

Last updated