Bean Definition(정의)
2025. 6. 11. 14:39ㆍSpring 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 |