본문 바로가기

SpringBoot

10월8일 Spring Boot AppConfig 구조

  public MemberService memberService(){

  return new memberServiceImpl(new MemoryMemberRepository())

}

AppConfig에 정의된 memberService라는 메서드는 MemberService 타입의 반환값을 반환하는데

memberServiceImpl의 생성자에 매개변수로 memoryMemberRepository를 보내서 

결과값으로 생성된 memberRepositoryImpl을 최종적으로 반환한다,

 

public OrderServiceImpl orderService(){

return new OrderServiceImpl(new MemoryMemberRepository() , new FixDisCountPolicy())

}

 

위는 매개변수가 2개인 경우의 예로

OrderServiceImpl타입의 결과를 반환하는 메소드인데 

매개변수가 2개인 경우이다.

 

AppConfig에서의 역활은 해당 서비스에서 사용할 객체들을 생성할 수 있는 메서드 들을 만들어두고

실제 구현 기능에서

AppConfig 를 객체생성 한후 (AppConfig appConfig = new AppConfig());

해당 AppConfig의 메소드를 호출하여 객체를 생성하는 용도로 사용한다,

(MemberService memberService = appConfig.memberService());

위 처럼 appConfig의 메소드를 사용해서 "memberService"를 생성하게 된다.

 

이후 위에서 후출받은 메서드를 통해 생성자가 매개변수를 받아 실행되어 생성되는 것으로

드디어 역활 - 구현 관계가 성립되게 된다.

 

(인터페이스) > (구현클래스) ,(생성자 생성) > AppConfig(여기에 모든 메소드 작성)