@Bean으로 싱글톤 스코프의 빈 선언하기
@Bean 애너테이션을 사용하는 예제(스프링 컨텍스트에 인스턴스를 추가한 후 메인 클래스에서 여러 번 그 인스턴스를 단지 참조하는 예제)로 싱글톤 빈의 동작을 시연해 보자. 이 시연으로 빈을 참조할 때마다 동일한 인스턴스를 얻는다는 것을 증명할 수 있다.
다음 그림은 컨텍스트를 구성하는 코드 주변의 컨텍스트를 시각적으로 표현한 것이다. 그림에서 원두는 스프링이 컨텍스트에 추가한 인스턴스를 나타낸다. 컨텍스트에는 관련된 이름을 가진 인스턴스(커피 원두(빈))가 하나만 포함되어 있다는 것을 알 수 있다. 2장에서 설명한 것처럼 @Bean 애너테이션 접근 방식을 사용하여 컨텍스트에 빈을 추가할 때 @Bean으로 애너테이션된 메서드 이름이 빈 이름이 된다.