더북(TheBook)

이 애플리케이션을 실행하면 스프링이 해당 컨텍스트에 Parrot 인스턴스를 추가한 것을 볼 수 있는데, 첫 번째 값은 이 인스턴스의 기본 문자열(string) 타입 표현이다. 하지만 이 앵무새(Parrot 인스턴스)에 이름을 할당하지 않았기 때문에 두 번째 출력된 값은 null이다. 스프링은 클래스의 인스턴스만 생성하지만, 나중에 이 인스턴스를 어떤 식으로든 변경하는 것(이름을 할당하는 등)은 여전히 우리가 해야 할 일이다.

이제 스프링 컨텍스트에 빈을 추가할 때 가장 자주 접하는 두 가지 방법을 간단히 비교해 보자(표 2-1).

실제 시나리오에서는 가능한 한 스테레오타입 애너테이션을 사용하고(이 방식이 코드 작성량이 적기 때문), 다른 방법으로 빈을 추가할 수 없을 때만 @Bean을 사용한다(예를 들어 라이브러리 일부로 포함된 클래스에 대한 빈을 생성하므로, 해당 클래스에 스테레오타입 애너테이션을 추가할 수 없는 경우가 해당된다).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.