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

박정곤님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

Appconfig가 각 클래스로 정보를 뿌릴때

22.09.05 10:40 작성

·

263

0

(1)
public class MemberServiceImpl implements MemberService{
    private final MemberRepository memberRepository;

    public MemberServiceImpl(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }

    @Override
    public void join(Member member) {
        memberRepository.save(member);
    }

    @Override
    public Member findMember(Long memberId) {
        return memberRepository.findById(memberId);
    }
}
(2)
public class AppConfig {
    public MemberService memberService(){
        return new MemberServiceImpl(memberRepository());
    }
    public MemberRepository memberRepository() {
        return new MemoryMemberRepository();
    }
}

두개의 코드가 있을때 Appconfig에 의해 인스턴스가 생성되고, MemberServiceImpl에 들어간다고 강사님께서 설명해주셧습니다.

이때 MemberServiceImpl에서 Appconfig 객체를 생성한다던지, 메서드를 호출하는 코드가 없는데 자동으로 주입되는 이유가 궁금합니다. 감사합니다.

답변 1

1

David님의 프로필 이미지

2022. 09. 05. 11:52

안녕하세요. 박정곤님, 공식 서포터즈 David입니다.

본 강의 '스프링 컨테이너와 스프링 빈', '싱글톤 컨테이너' 섹션에서 상세히 다루고 있으니 참고 부탁드립니다.

감사합니다.