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

Min04님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

스프링 컨테이너 생성

MemberApp, OrderApp에 의해 각각 두개의 스프링 컨테이너가 생성됐다 생각하면 될까요?

해결된 질문

작성

·

164

·

수정됨

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요.전 섹터의 마지막강의 "스프링으로 전환하기"에서 스프링을 이용해 DI를 적용하면서MemberApp, OrderApp에 각각 ApplicationContext ac = new ... 를 사용했는데 이떄,
MemberApp, OrderApp클래스 각각 서로 다른 스프링 컨테이너를 띄었다 생각하면될까요?

답변 1

1

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

OrderApp과 MemberApp은 각각 main()메서드를 통해 개별로 실행할 수 있는 클래스입니다.

개별 클래스 내에서 스프링 컨테이너(ApplicationContext)를 1개씩 생성하였는데요,

ApplicationContext ac = new ... 의 스프링 컨테이너를 생성하는 클래스를 각각의 App클래스에서 선언한것은 CoreApplication의 스프링 프로젝트 실행 환경과는 별개로 봐야합니다.

 

예를 들어, 다음과 같이 개별 실행 클래스에서 member를 각각 생성한다고 하여

MemberApp - member1 생성

public class MemberApp {
    public static void main(String[] args) {
        Member member1= new Member();
    }
}

OrderApp - member2 생성

public class OrderApp {
    public static void main(String[] args) {
        Member member2= new Member();
    }
}

TestApp - member3 생성

public class TestApp {
    public static void main(String[] args) {
        Member member3= new Member();
    }
}

member 인스턴스를 3개 생성했다고 하지 않습니다. 각각의 개별 실행되는 main클래스에서 member 인스턴스를 하나씩 생성한 것이지요.

(여기서의 member를 스프링 컨테이너로 보시면 됩니다.)

 

감사합니다.

Min04님의 프로필 이미지
Min04
질문자

친절한 설명 감사합니다!

Min04님의 프로필 이미지

작성한 질문수

질문하기