1. Naming Beans
식별자
- 모든 빈은 하나 이상의 식별자를 가지며, 이 식별자는 컨테이너 내에서 고유해야 합니다.
- 빈은 보통 하나의 식별자만을 가지지만, 추가로 별칭(aliases)으로 사용할 식별자를 더 가질 수 있습니다.
Aliasing a Bean outside the Bean Definition
- 빈에 대한 별칭(alias)을 설정하면 해당 빈을 다양한 이름으로 참조할 수 있게 해줍니다.
- 이 기능은 특히 큰 시스템에서 여러 하위 시스템 간에 설정을 분할할 때 유용하게 사용됩니다.
- 각 하위 시스템은 자신만의 객체 정의를 가질 수 있습니다.
<alias name="myApp-dataSource" alias="subsystemA-dataSource"/>
<alias name="myApp-dataSource" alias="subsystemB-dataSource"/>
XML에서 빈 별칭 설정
- <alias/> 요소를 사용하여 빈에 대한 별칭을 지정할 수 있습니다.
Java 설정에서 빈 별칭 설정
- @Bean을 사용하여 별칭을 제공할 수 있습니다.
XML 기반 구성
- id, name 속성을 사용하여 빈의 식별자를 지정할 수 있습니다.
- 제공하지 않으면, 컨테이너는 자동으로 빈에 대한 고유한 이름을 생성합니다.
id
- 하나의 식별자만 지정할 수 있습니다.
name
- 쉼표(,), 세미콜론(;) 또는 공백을 사용하여 여러 별칭을 지정할 수 있습니다.
빈 명명 규칙
- 일반적으로 Java의 인스턴스 필드 이름 작성 규칙을 따릅니다.
- 첫 글자는 소문자로 시작
- 그 후에는 camel-case를 사용합니다.
컴포넌트 스캔
- 개발자가 직접 빈을 등록하지 않아도 프로젝트 내의 클래스들을 자동으로 스캔하여 빈으로 등록합니다.
- 이름이 지정되지 않은 컴포넌트에 대한 빈 이름을 Spring이 자동 생성합니다.
빈 이름 자동 생성
- 클래스의 이름에서 가져온 후 첫 문자를 소문자로 변경하여 생성됩니다.
- 첫 번째와 두 번째 문자가 모두 대문자인 경우 원래의 대문자 유지 규칙이 적용됩니다.
'Spring > Spring' 카테고리의 다른 글
[Spring][Core] 2-5. Bean: Dependency Injection (0) | 2023.10.14 |
---|---|
[Spring][Core] 2-4. Bean: Bean Scopes (0) | 2023.10.14 |
[Spring][Core] 2-2. Bean: Instantiating Beans (0) | 2023.10.14 |
[Spring][Core] 2-1. Bean: BeanDefinition (1) | 2023.10.14 |
[Spring][Core] 1. IoC Container (0) | 2023.10.14 |