이제 예제(sq-ch5-ex4 프로젝트)에서 클래스(스테레오타입 애너테이션 방식의 경우) 또는 @Bean 메서드(@Bean 메서드 접근 방식의 경우)에 @Lazy 애너테이션을 추가해서 변경한다. 누군가가 빈을 사용할 때만 생성하도록 스프링에 지시했기 때문에 앱을 실행할 때 콘솔에 앞의 메시지가 더 이상 출력되지 않는 것을 볼 수 있다. 그리고 이 예제에서는 아무도 CommentService 빈을 사용하지 않는다.
@Service
@Lazy ← @Lazy 애너테이션은 누군가 처음 이 빈을 참조할 때만 스프링에 빈을 생성하도록 지시한다.
public class CommentService {
public CommentService() {
System.out.println("CommentService instance created!");
}
}