반응형
QnA. 생성자 주입과 필드 주입의 차이

생성자 주입은 객체 생성 시 의존성이 즉시 주입된다.
반면, 필드 주입은 일단 빈 객체를 먼저 생성하고, 스프링 컨테이너가 초기화된 이후에 관련 의존성들이 주입된다.
생성자 주입 추가 설명
@Component
public class FooBean {
private final FooService fooService;
@Autowired
public FooBean(FooService fooService) {
this.fooService = fooService;
}
}
생성자 주입은
- Spring Container가 FooBean을 생성하기 전에 FooService 빈을 먼저 찾습니다.
- FooService 빈이 컨테이너에 있는 경우, 이를 FooBean의 생성자로 전달하여 의존성을 주집합니다.
- 객체가 완전히 초기화된 상태에서 FooBean 빈 등록이 완료됩니다.
➡️ 생성자 주입은 빈 객체를 생성할 때 즉시 의존성을 주입하기 때문에, 필드 주입보다 먼저 진행된다.
필드 주입 추가 설명
@Component
public class FooBean {
@Autowired
private FooService fooService;
}
의존성 주입은
- Spring Container가 FooBean을 먼저 빈으로 등록시킵니다. (빈 객체만 생성됨)
- 이후 컨테이너가 초기화되는 과정에서 @Autowired 필드를 주입합니다.
- FooService가 컨테이너에 등록되어 있으면, 해당 빈을 fooService 필드에 할당합니다.
➡️ 필드 주입은 빈이 먼저 생성된 후, 나중에 의존성이 주입된다.
반응형
'Spring Framework > Spring' 카테고리의 다른 글
Java ORM 사용 이유 및 장단점 완벽 정리 (JPA, Hibernate) (0) | 2025.03.28 |
---|---|
Spring Controller가 수백만 개의 요청을 처리하는 원리 - Spring Bean의 역할과 목적 (2) | 2025.03.18 |
Spring ServletContainer와 SpringContainer의 차이 이해하기 (0) | 2025.03.04 |
Spring cloud Eureka 등록된 애플리케이션 조회하기 - open feign 통신 (0) | 2025.01.08 |
Spring MySQL 최적의 DBCP 설정 방법 - hikariCP, MySQL Connection 옵션 이해하기 (1) | 2024.12.21 |
반응형
QnA. 생성자 주입과 필드 주입의 차이

생성자 주입은 객체 생성 시 의존성이 즉시 주입된다.
반면, 필드 주입은 일단 빈 객체를 먼저 생성하고, 스프링 컨테이너가 초기화된 이후에 관련 의존성들이 주입된다.
생성자 주입 추가 설명
@Component
public class FooBean {
private final FooService fooService;
@Autowired
public FooBean(FooService fooService) {
this.fooService = fooService;
}
}
생성자 주입은
- Spring Container가 FooBean을 생성하기 전에 FooService 빈을 먼저 찾습니다.
- FooService 빈이 컨테이너에 있는 경우, 이를 FooBean의 생성자로 전달하여 의존성을 주집합니다.
- 객체가 완전히 초기화된 상태에서 FooBean 빈 등록이 완료됩니다.
➡️ 생성자 주입은 빈 객체를 생성할 때 즉시 의존성을 주입하기 때문에, 필드 주입보다 먼저 진행된다.
필드 주입 추가 설명
@Component
public class FooBean {
@Autowired
private FooService fooService;
}
의존성 주입은
- Spring Container가 FooBean을 먼저 빈으로 등록시킵니다. (빈 객체만 생성됨)
- 이후 컨테이너가 초기화되는 과정에서 @Autowired 필드를 주입합니다.
- FooService가 컨테이너에 등록되어 있으면, 해당 빈을 fooService 필드에 할당합니다.
➡️ 필드 주입은 빈이 먼저 생성된 후, 나중에 의존성이 주입된다.
반응형
'Spring Framework > Spring' 카테고리의 다른 글
Java ORM 사용 이유 및 장단점 완벽 정리 (JPA, Hibernate) (0) | 2025.03.28 |
---|---|
Spring Controller가 수백만 개의 요청을 처리하는 원리 - Spring Bean의 역할과 목적 (2) | 2025.03.18 |
Spring ServletContainer와 SpringContainer의 차이 이해하기 (0) | 2025.03.04 |
Spring cloud Eureka 등록된 애플리케이션 조회하기 - open feign 통신 (0) | 2025.01.08 |
Spring MySQL 최적의 DBCP 설정 방법 - hikariCP, MySQL Connection 옵션 이해하기 (1) | 2024.12.21 |