작성
·
506
3
안녕하세요
1.싱글톤관련되서 스프링컨텍스트에서 빈을 싱글톤으로 관리하려면 클래스에 @Configuration을 붙여야하는데 TestConfig클래스에 이 애노테이션을 붙이지 않아도 싱글톤으로 관리되는지 궁금합니다.결과론적으로는 붙이지 않아도 싱글톤으로 관리되는데 왜 그런지 궁금합니다
static class TestConfig {
-> 아래처럼 되어야 싱글톤으로 관리할수 있는게 아닌지요?
@Configuration
static class TestConfig {
2. 다른 테스트코드에서 사용되는 static config 클래스에는 @Configuration을 붙였는데 여기만 뺀 이유가 있는지요?
답변 3
2
0
네 답변 감사드립니다
스프링컨테이너에 직접 등록되면 등록된 클래스 빈은 싱글톤으로 관리되는지요?
@Configuration 을 설정해야 스프링컨테이너가 이 클래스를 싱글톤으로 관리되지 않는지요?
0
안녕하세요. 스윙님, 공식 서포터즈 OMG입니다.
@Controller, @Service, @Repository, @Component, @Configuration 과 같이 컴포넌트 스캔의 대상이 되도록 어노테이션을 지정하여 스프링 빈으로 자동등록하는 방법도 있지만 첫번째 라인의
AnnotationConfigApplicationContext( TestConfig.class )
코드에서 스프링컨테이너에 빈을 직접 등록할 수 있습니다.
아래의 링크를 참고해주세요 :)
https://www.inflearn.com/questions/261305
감사합니다.
스프링 컨테이너에 직접 등록해도 동일하게 싱글톤으로 관리 됩니다.
추가로 답변 못드렸던 부분이 있었네요,
"
다른 테스트코드에서 사용되는 static config 클래스에는 @Configuration을 붙였는데 여기만 뺀 이유가 있는지요?
"
=> 영한님의 의도는 잘 모르겠습니다만, 영한님 강의 스타일이 동일한 결과에 대해 다양한 방법을 소개해주시거나, 점진적으로 나아지는 방법을 소개해주시는 특징 상
(의도를 설명하시진 않았지만) @Configuration을 작성하지 않아도 동작하는 것을 보여주시기 위해 작성하였을 수 있을 것 같습니다.