강의

멘토링

로드맵

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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

디폴트 콜백과 템플릿 빈

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

작성

·

174

·

수정됨

0

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

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

답변 2

0

토비님의 프로필 이미지
토비
지식공유자

앗. 제가 질문 올리신 것을 확인하지 못해서 답변을 못드리고 있었네요.

이건 단순하게 시작하기 위해서 직접 new로 오브젝트를 만들었고요. 빈으로 정의한 뒤에 메소드 파라미터로 주입 받아서 연결하는 것도 물론 가능합니다.

0

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

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

  1. BeanFactory 의존관계

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

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

풍부한 설명 추가:

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

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기