봄-콩 정의
애플리케이션의 백본을 형성하고 Spring IoC 컨테이너에 의해 관리되는 객체를 호출합니다. beans. 빈은 인스턴스화되고, 어셈블되고, 스프링 IoC 컨테이너에 의해 관리되는 객체입니다. 이러한 Bean은 컨테이너에 제공하는 구성 메타 데이터로 작성됩니다. 예를 들어, 이전 장에서 이미 본 XML <bean /> 정의 형식입니다.
Bean 정의에는 다음과 같은 정보가 포함됩니다. configuration metadata, 컨테이너가 다음을 알기 위해 필요합니다-
- 빈을 만드는 방법
- Bean의 라이프 사이클 세부 사항
- 빈의 의존성
위의 모든 구성 메타 데이터는 각 Bean 정의를 구성하는 다음 특성 세트로 변환됩니다.
Sr. 아니. | 속성 및 설명 |
---|---|
1 | class 이 속성은 필수이며 Bean을 작성하는 데 사용할 Bean 클래스를 지정합니다. |
2 | name 이 속성은 Bean 식별자를 고유하게 지정합니다. XML 기반 구성 메타 데이터에서 ID 및 / 또는 이름 속성을 사용하여 Bean 식별자를 지정합니다. |
삼 | scope 이 속성은 특정 빈 정의에서 생성 된 객체의 범위를 지정하며 빈 범위 장에서 설명합니다. |
4 | constructor-arg 이것은 의존성을 주입하는데 사용되며 다음 장에서 논의 될 것입니다. |
5 | properties 이것은 의존성을 주입하는데 사용되며 다음 장에서 논의 될 것입니다. |
6 | autowiring mode 이것은 의존성을 주입하는데 사용되며 다음 장에서 논의 될 것입니다. |
7 | lazy-initialization mode lazy-initialized bean은 시작 시가 아니라 처음 요청 될 때 IoC 컨테이너에 bean 인스턴스를 만들도록 지시합니다. |
8 | initialization method 빈에 대한 모든 필수 속성이 컨테이너에 의해 설정된 직후에 호출 될 콜백. 빈 라이프 사이클 장에서 논의 될 것입니다. |
9 | destruction method 빈을 포함하는 컨테이너가 파괴 될 때 사용할 콜백. 빈 라이프 사이클 장에서 논의 될 것입니다. |
스프링 구성 메타 데이터
Spring IoC 컨테이너는이 구성 메타 데이터가 실제로 작성되는 형식에서 완전히 분리됩니다. 다음은 Spring Container에 구성 메타 데이터를 제공하는 세 가지 중요한 방법입니다.
- XML 기반 구성 파일.
- 주석 기반 구성
- Java 기반 구성
XML 기반 구성 메타 데이터가 컨테이너에 제공되는 방법을 이미 보았지만 지연 초기화, 초기화 방법 및 파괴 방법을 포함하여 다른 빈 정의가있는 XML 기반 구성 파일의 또 다른 샘플을 살펴 보겠습니다.
<?xml version = "1.0" encoding = "UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- A simple bean definition -->
<bean id = "..." class = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with lazy init set on -->
<bean id = "..." class = "..." lazy-init = "true">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with initialization method -->
<bean id = "..." class = "..." init-method = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with destruction method -->
<bean id = "..." class = "..." destroy-method = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
Spring Hello World Example 을 확인 하여 Spring Beans를 정의, 구성 및 생성하는 방법을 이해할 수 있습니다 .
주석 기반 구성에 대해서는 별도의 장에서 설명합니다. 주석을 사용하여 Spring Dependency Injection으로 프로그래밍을 시작하기 전에 몇 가지 다른 중요한 Spring 개념을 파악하기를 원하므로 별도의 장에서 의도적으로 논의됩니다.