BEAN

    [Spring] @Configuration 을 설정해줘야 하는 이유.

    스프링으로 프로젝트를 진행하다보면 스프링 컨테이너에 Bean 등록을 위해서 새롭게 클래스를 만든 후에 @Configuration 을 추가해주는 것을 볼 수 있다. 하지만 Bean 등록은 @Bean 을 추가해주는 것 만으로도 가능하다. 그렇다면 어째서 @Configuration 까지 추가해주는 수고를 하는 것 일까? 그 이유는 싱글톤 패턴을 위해서 이다. 스프링에서는 @Bean 설정만으로는 싱글톤을 보장해주지 않는다. 만약 @Configuration 없이 @Bean 만으로 빈 등록을 한다면 아래와 같은 상황이 발생할 수 있다. 만약 @Configuration 이 설정되어 있다면 바이트 조작을 통해서 싱글톤을 보장해주는 프록시 객체를 만들어 스프링 컨테이너에 등록해준다. 잘못된 내용에 대한 수정이나, 본문에..