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

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

오리쉐리님의 프로필 이미지
오리쉐리

작성한 질문수

스프링 핵심 원리 - 기본편

싱글톤 방식의 주의점

TestConfig에 대해 질문드립니다.

작성

·

410

0

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

[질문 내용]
다른 질문들을 찾아보고 제가 이해한게 맞는지 확인하기위해서 TestConfig에 대해 질문드립니다.

1. static Class TestConfig 위에는 따로 @Configuration을 적어주지 않으셨는데,

이 이유가 @Configuration을 적어주지않더라도

ApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class); 이렇게 함으로써

스프링 컨테이너에 TestConfig클래스를 직접 스프링 빈으로 등록하여 사용 가능하고 등록된 스프링빈은 싱글톤으로 관리가 되는게 맞나요?

 

2. 1의 이유가 맞다면 이전에 Config들에서는 모두 @Configuration을 적어줬는데, 이전에 Config를 스프링 컨테이너에 등록할때도

ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); 이런식으로 직접 스프링 빈으로 등록하여

사용가능하고 등록된 스프링빈은 싱글톤으로 관리되는데, @Configuration을 적는것과 적지않는것의 차이가 무엇인지 알수있을까요?

@Configuration을 적으면 스프링컨테이너에 자동등록, @Configuration을 적지않으면 스프링컨테이너에 직접등록이 맞을까요?

 

3.@Configuration을 적으면 스프링컨테이너에 자동등록, @Configuration을 적지않으면 스프링컨테이너에 직접등록이라면,

어떨때 자동등록을 해야하고, 어떨때 직접등록을 해야하는건가요?

 

4. @Configuration을 적지않고 @Bean도 적지않은 Config를 스프링컨테이너에 직접등록해도 스프링 빈으로 등록하여

사용가능하고 등록된 스프링빈은 싱글톤으로 관리되나요?

답변 1

1

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

  1. 이 부분은 눈으로 직접 보시는 게 더 빠르실 듯합니다. TestConfig 내 생성 메서드를 테스트 메서드 내에서 한 번 더 호출하셔서 나온 객체와 getBean을 통해 가져온 객체와 비교해보시겠어요?

  2. @Configuration과 관련된 건 강의에서 자세히 다루니 다음 강의들을 참고해주세요.

감사합니다.

오리쉐리님의 프로필 이미지
오리쉐리
질문자

  1. @Configuration을 적으면 스프링컨테이너에 자동등록, @Configuration을 적지않으면 스프링컨테이너에 직접등록이라면,

어떨때 자동등록을 해야하고, 어떨때 직접등록을 해야하는건가요?

 

  1. @Configuration을 적지않고 @Bean도 적지않은 Config를 스프링컨테이너에 직접등록해도 스프링 빈으로 등록하여

사용가능하고 등록된 스프링빈은 싱글톤으로 관리되나요?

오리쉐리님의 프로필 이미지
오리쉐리

작성한 질문수

질문하기