다음 예제에는 싱글톤 빈에 대한 스프링의 동작을 테스트하기 위한 Main 클래스가 있다. CommentService 빈을 두 번 참조하고 모두 동일한 참조 값을 얻을 것이라고 예상한다.
예제 5-2 싱글톤 빈에 대한 스프링 동작을 테스트하는 데 사용된 Main 클래스
public class Main {
public static void main(String[] args) {
var c = new AnnotationConfigApplicationContext(ProjectConfig.class);
var cs1 = c.getBean("commentService", CommentService.class);
var cs2 = c.getBean("commentService", CommentService.class);
boolean b1 = cs1 == cs2; ← 두 변수는 동일한 참조 값을 갖기 때문에 비교 연산 결과는 항상 참이다.
System.out.println(b1);
}
}
앱을 실행하면 싱글톤 빈인 스프링이 매번 동일한 참조 값을 반환하기 때문에 콘솔에 true가 출력된다.