강의

멘토링

로드맵

Inflearn Community Q&A

relate161781's profile image
relate161781

asked

Spring MVC Part 2 - Backend Web Development Utilization Technology

부끄러움 무릅쓰고 어이없을 수 있는 질문 올려봅니다.

Resolved

Written on

·

184

1

DefaultConversionService은 

ConversionService

ConversionRegistry

로 나뉘어져 있어서 

 

DefaultConversionService를 @Bean으로 등록한 후 

converter를 사용하는 곳에서 

 

@RequiredArgsConstructor 

private final ConversionService conversionService; 로 의존관계 주입을 받아서 사용하면 

컨버터를 사용하는 클라이언트의 입장에서는 등록하는 ConversionRegistry의 메서드들을 알 필요가 없다고 이해했습니다.

//혹시 틀리게 이해한 부분이 있나 몰라 써봤습니다 ㅠㅠ

 

아무튼,

여기서 굉장히 원초적인 의문이 들었는데요 

DefaultConversionService는 

ConversionService의 자식 클래스 잖아요 ?

 

DefaultConversionService를 스프링 빈으로 등록하면 

부모 클래스들도 한꺼번에 스프링 Bean에 등록되는 건가요 ? 

 

스프링 핵심 원리 강의에서 

 public class MemoryMemberRepository implements MemberRepository {}

 

에서 

@Configuration

public class AppConfig {

    @Bean

    public MemberRepository memberRepository() {

        return new MemoryMemberRepository();

    } 

}

라던지, 

@Component 라던지 해서 

 

의존관계 주입을

@RequiredArgsConstructor 

public class MemberServiceImpl implements MemberService {

    private final MemberRepository memberRepostiory;

..

}

처럼 해서 썼었는데 

 

당시에는 상위 클래스를 쓸 생각이 없어서 별 의문 없이 넘겼거든요. 

 

뭔가 ... 부모 클래스도 등록되는게 맞겠지 하다가도

혹시 틀렸다면 어디서부터 헤매고 있는 건지 .. 

 

질문 드립니다. :[

 

MVCspring

Answer 1

1

yh님의 프로필 이미지
yh
Instructor

안녕하세요. relate16님

스프링 빈을 등록한다는 것은 자바 객체를 생성해서 해당 자바 객체를 스프링 빈에 등록하는 것입니다.

따라서 해당 자바 객체의 인스턴스가 스프링 빈에 등록됩니다.

해당 자바 객체의 인스턴스는 부모의 기능을 모두 사용할 수 있습니다.

이 부분은 스프링에 대한 부분이라기 보다는 자바 기본에 대한 내용입니다. 혹시 이 부분이 부족하시면 자바 기본 내용을 더 학습하시면 도움이 되실거에요.

감사합니다.

relate16님의 프로필 이미지
relate16
Questioner

설명해주셔서 감사합니다 :] 자바에 대해서 다시 찾아보겠습니다.

relate161781's profile image
relate161781

asked

Ask a question