인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

scorbiclife님의 프로필 이미지
scorbiclife

작성한 질문수

스프링 핵심 원리 - 기본편

AppConfig 리팩터링

AppConfig에서 멤버 변수를 사용하여 리팩토링하여도 괜찮을지요?

해결된 질문

작성

·

286

0

김영한 선생님, 안녕하세요,

먼저 좋은 강의 감사드립니다^^

다름이 아니라, AppConfig에서 전체 구조를 다음과 같이 멤버 변수로 표현하여도 괜찮을지, 아니면 함수들로 표현하는 것에 더 좋은 이유가 있는지 질문드립니다.

public class AppConfig {
    final MemberRepository memberRepository;
    final MemberService memberService;
    final DiscountPolicy discountPolicy;
    final OrderService orderService;

    public AppConfig() {
        memberRepository = new MemoryMemberRepository();
        memberService = new MemberService(memberRepository);
        discountPolicy = new RateDiscountPolicy();
        orderService = new OrderService(memberRepository, discountPolicy);
    }
    // Getters ...
}

답변 1

2

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

.
추후 강의에서 다뤄지지만 멤버 변수로 만들고 생성자에서 다 처리하게 되면
스프링에서 제공하는 기능(@Bean, @Scope 등)의 지원을 받지 못합니다.
.
감사합니다.

scorbiclife님의 프로필 이미지
scorbiclife

작성한 질문수

질문하기