inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

토비의 스프링 6 - 이해와 원리

스프링 컨테이너와 의존관계 주입

BeanFactory 의존관계

233

hdh8990

작성한 질문수 6

0

@Configuration

public class ObjectFactory {

@Bean

public PaymentService paymentService () {

return new PaymentService(exRateProvider());

}

@Bean

public ExRateProvider exRateProvider() {

return new WebApiExRateProvider();

}

}

 

여기서 Bean 어노테이션을 붙이면 paymentService가 호출되지 않아도 paymentService와 exRateProvider의 의존관계가 설정이 되는게 맞나요??

 

만약 exRateProvider에만 Bean 어노테이션을 붙이지 않으면 어떻게 되는 건가요??

java spring

답변 1

1

토비

@Configuration 클래스 안에 @Bean이 붙은 메소드만 스프링 컨테이너가 관리하는 오브젝트, 즉 빈이 됩니다. @Bean 이 없으면 스프링의 빈으로는 생성이 안 됩니다.

그런데, 스프링이 아니라 그냥 단순 오브젝트 팩토리라고 보고 실행을 하면 코드는 동작할테니 @Bean이 없어도 해당 오브젝트를 만들 수는 있죠. 이걸 스프링과 같은 프레임워크가 인식해서 자동으로 만들고 관리해주도록 하는 것이 이런 애노테이션의 활용 방법입니다.

수업을 잘 듣고 있습니다.

0

103

2

jackson(3.0.2 버전) ObjectMapper.readValue 에러타입

0

108

2

템플릿과 콜백의 역할 경계를 구분하는 기준

0

99

1

테스트를 작성하지않아도 되는 경우

0

86

2

오브젝트 정의 중 배열에 대해서

0

63

2

스프링 레거시를 이용하는 회사에서 일을 하게 될것같은데

0

109

2

JpaTransactionManager에 대해 궁금합니다.

0

81

2

스프링빈과 Clock 클래스 관련

0

44

2

Seprate Interface 패턴에 대한 궁금증

0

46

2

테스트의 기준을 어떤식으로 설정하는 것이 바람직한 테스트일까요 ?

0

51

2

오브젝트와 인스턴스

0

38

1

WebApiExRateProvider 템플릿 콜백 패턴을 적용하면서 테스트 코드를 만들어보았습니다.

0

62

2

템플릿 콜백 패턴 관련하여 궁금한 것이 있습니다!

0

59

2

상태 변경 API 질문

0

120

2

빈에 대한 질문

0

97

1

안녕하세요.

0

145

2

Payment 엔티티에 exRateProvider 주입

0

101

1

@Transactional private 사용유무

0

156

1

JdbcClient 생성 질문

0

190

2

안녕하세요 PaymentConfig 질문드립니다.

0

110

2

[공유] 윈도우 사용자를 위한 http 명령어 오류 해결 방법

0

244

2

생성자 파라미터성자 파라미터

0

237

2

토비님 ! BigDecimal 관련 링크를 못찾겠어요

2

343

2

인터페이스 사용에 관하여 질문드립니다.

0

307

3