더북(TheBook)

다음 예제에는 싱글톤 빈에 대한 스프링의 동작을 테스트하기 위한 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가 출력된다.

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