백기선님의 스프링 프레임워크 핵심 기술이라는 강좌를 들으며 공부한 내용을 정리한 글입니다. 오늘 기록할 내용은 Bean의 스코프에 대한 전반적인 이해와 활용 방법, 사용 시 주의할 사항 등을 다룬다. 1. Bean의 스코프 Bean의 스코프로는 크게 싱글톤과 프로토타입으로 나눌 수 있다. (다양한 스코프가 있지만 이번시간에는 이 두 가지를 다룹니다.) 먼저 싱글톤과 프로토타입의 개념을 설명하자면 싱글톤 스코프는 애플리케이션 전반에 걸쳐 해당 Bean의 인스턴스가 오직 한번 생성되는 것이다. 반면에 프로토타입은 매번 새로운 인스턴스를 생성한다. 싱글톤 해당 Bean의 인스턴스를 오직 한번만 생성 Bean을 생성할 때 별도의 설정을 해주지 않으면 default는 싱글톤 프로토타입 해당 Bean의 인스턴스를 ..
@Bean과 @Component는 어떤 객체를 Bean으로 등록하고 싶을 때 사용되는 애노테이션들이다. 그렇다면 이 둘의 차이점이 뭘까? 두개의 애노테이션 모두 Bean으로 등록하겠다는 목적을 가지는 애노테이션인데 왜 둘로 나누어져 있을까? 항상 헷갈렸던 부분이기도 하고 명확한 이해가 없는 것 같아 이번 글에서 확실히 정리해보고자 한다. 1. @Bean @Bean 같은 경우에는 메서드 위에 선언 가능하고 외부 라이브러리를 Bean으로 등록할 때 사용된다. 이해를 돕기 위해 먼저 @Bean 애노테이션을 살펴보자. @Target이 METHOD로 지정되어있다. 이는 메서드 위에 선언되어야 한다는 의미이다. 이건 알겠는데.. 왜 외부 라이브러리를 Bean으로 등록할 때 사용되는 걸까? 외부 라이브러리는 Read..