반응형
Chef Class
package org.zerock.sample;
import org.springframework.stereotype.Component;
import lombok.Data;
@Component
@Data
public class Chef {
}
Restaurant Class
package org.zerock.sample;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import lombok.Data;
import lombok.Setter;
@Component
@Data
public class Restaurant {
@Setter(onMethod_ = @Autowired)
private Chef chef;
}
-스프링 프레임워크가 시작되면 먼저 스프링이 사용하는 메모리 영역을 만들게 되는데 이를 컨텍스트(Context)라고 한다. 스프링에서는 ApplicationContext라는 이름의 객체가 만들어진다.
-스프링은 자신이 객체를 생성하고 관리해야 하는 객체들에 대한 설정이 필요하다.
이에 대한 설정이 root-context.xml 파일!
-root-context.xml에 설정되어 있는 <context:component-scan>태그의 내용을 통해서 'org.zerock.sample' 패키지를 스캔(scan)하기 시작!
-해당 패키지에 있는 클래스들 중에서 스프링이 사용하는 @Component라는 어노테이션이 존재하는 클래스의 인스턴스를 생성한다.
-Restaurant 객체는 Chef 객체가 필요하다는 어노테이션(@Autowired)설정이 있으므로, 스프링은 Chef 객체의 레퍼런스를 Restaurant 객체에 주입한다.
참고 : 코드로 배우는 스프링 웹 프로젝트
반응형
'프레임워크 > Spring' 카테고리의 다른 글
[SpringMVC] 요청 매핑, API 요청 매핑 (0) | 2022.11.23 |
---|---|
스프링 컨테이너와 스프링 빈 (1) | 2022.11.05 |
[Spring] @ResponseBody 어노테이션 (0) | 2022.06.07 |
[Spring] sts3, 이클립스 Spring Legacy Project 기본 구조 (0) | 2021.07.11 |