첫 시나리오는 기본(즉시) 초기화(sq-ch5-ex3 프로젝트)를 테스트하는 데 빈만 필요하다. 지금까지 사용하던 이름을 그대로 유지하므로 이 클래스 이름을 ‘CommentService’로 지정하겠다. 다음 코드에서 한 것처럼 @Bean 애너테이션 방식이나 스테레오타입 애너테이션을 사용하여 이 클래스를 빈으로 만든다. 하지만 어느 쪽이든 클래스의 생성자에서 콘솔 출력을 추가해야 하며 이것으로 프레임워크가 이 생성자를 호출하는지 쉽게 관찰할 수 있다.
@Service
public class CommentService {
public CommentService() {
System.out.println("CommentService instance created!");
}
}
스테레오타입 애너테이션을 사용할 때 구성 클래스에서 @ComponentScan 애너테이션을 추가하는 것을 잊지 마라. 구성 클래스 코드는 다음과 같다.
@Configuration
@ComponentScan(basePackages={"services"})
public class ProjectConfig {
}