Bean Definition(정의)

2025. 6. 11. 14:39Spring Framework/Spring IoC

Spring IoC 컨테이너는 한개 이상의 Bean을 관리하며, Bean은 구성 메타데이터(Configuration Metadata)를 기반으로 생성된다.

Spring Framework에서 Bean Definition은 Spring IoC 컨테이너에 의해 관리되는 객체(Bean)의 정의서라고 볼 수 있다. 이 Definition에는 어떤 클래스를 인스턴스화 할지, 어떤 의존성을 주입할지, 어떤 스코프를 가질지 등 다양한 메타데이터가 포함된다.

 

⚙️ Bean Definition이란?

Bean Definition는 Spring IoC 컨테이너가 Bean을 생성하고 관리하기 위해 참조하는 Metadata다.

이 메타데이터의 주요 정보는 :

클래스 이름 해당 Bean이 실제로 사용할 구현 클래스의 이름
Bean의 동작 관련 설정 스코프, 생명주기 콜백 등
다른 Bean에 대한 참조 해당 Bean이 동작하기 위한 다른 Bean들과의 연결 정보(의존성)
추가 구성 설정 커넥션 풀 크기, 캐시 설정 등

 

이러한 메타데이터들은 Bean Definition의 하나하나를 구성하는 속성(property)의 집합으로 변환된다.

🔗 Bean Definition의 주요 속성(Property)

속성 설명
Class Bean을 생성할 클래스 지정
Name Bean의 이름(ID, 식별자)
Scope Bean의 생명 주기 설정(ex: singleton, prototype)
Constructor arguments 생성자 주입시 필요한 값(의존성)
Properties setter 주입싯 필요한 값(의존성)
Autowiring mode 의존성 자동 연결 방식 지정(@Autowired 등)
Lazy Initialization mode Bean의 지연 로딩 여부
Initialization method 초기화 시 호출할 메서드
Destruction method 종료 시 호출할 메서드

 

Spring IoC 컨테이너는 이런 BeanDefinition을 통해 객체를 조합하고 의존성을 주입한다.

'Spring Framework > Spring IoC' 카테고리의 다른 글

Bean의 인스턴스화 방법  (0) 2025.06.11
Bean 이름 지정 (Naming Beans)  (0) 2025.06.11
Spring IoC Container  (1) 2025.06.11
Bean과 Configuration Metadata  (0) 2025.06.11
Spring IoC란?  (0) 2025.06.11