인프런 커뮤니티 질문&답변

gogo님의 프로필 이미지

작성한 질문수

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

디폴트 콜백과 템플릿 빈

PaymentConfig에 대해 궁금한게있습니다

작성

·

49

·

수정됨

0

@Bean
public ApiTemplate apiTemplate() {
    return new ApiTemplate(new HttpClientApiExecutor(), new ErApiExRateExtractor());
}

위 코드에서 new HttpClientApiExecutor(), new ErApiExRateExtractor()를 new 하지않고 exRateProvider()에서 apiTemplate()를 bean으로 만든것처럼 bean으로 생성해서 넣어도 괜찮은건가요???

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

gogo님께서 질문하신 내용을 이해하였습니다. 이와 관련된 유사한 질문과 답변을 제공해 드리겠습니다.

  1. BeanFactory 의존관계

    • 이 질문에서는 @Bean을 사용한 객체 생성 및 의존 관계 설정에 대한 내용을 다루고 있습니다. @Bean을 사용하여 객체를 빈으로 등록하면, 스프링 컨테이너가 해당 객체를 관리하고 재사용할 수 있게 됩니다. 따라서 new HttpClientApiExecutor()new ErApiExRateExtractor()를 직접 생성하는 대신, 각각을 빈으로 등록하고 주입하는 방법도 가능합니다.
  2. 클래스 필드 레벨에서의 객체 생성에 대해 질문있습니다.

    • 클래스 필드 레벨의 객체 생성과 메서드 레벨의 객체 생성에 대한 차이와 적절한 사용법에 대해 설명하고 있습니다. @Autowired와 빈으로 생성된 객체를 사용하는 방법도 참고하실 수 있습니다.

풍부한 설명 추가:

스프링 프레임워크에서는 @Bean을 사용하여 객체를 빈으로 등록하는 것이 일반적입니다. 이렇게 등록된 빈은 스프링 컨테이너가 관리하며, 의존성을 주입할 때도 컨테이너가 자동으로 주입해주게 됩니다. 이 방식은 효율적인 리소스 관리와 객체 재사용을 가능하게 합니다. apiTemplate() 메소드에서 사용되는 HttpClientApiExecutorErApiExRateExtractor를 각각 빈으로 생성하여 사용하면, 스프링 컨테이너가 이 객체들을 관리하도록 할 수 있습니다. 이를 통해 코드의 가독성 및 유지보수성이 높아질 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

gogo님의 프로필 이미지

작성한 질문수

질문하기