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

dongmin.na님의 프로필 이미지
dongmin.na

작성한 질문수

스프링 핵심 원리 - 기본편

싱글톤 관리

작성

·

261

0

안녕하세요 완강 후 복습 중 질문이 생겨 글을 씁니다

ComponentScan을 통한 빈 자동 등록이든, Bean을 통한 수동 등록이든

Configuration으로 설정해주지 않으면 싱글톤으로 관리는 어렵다고 강의를 들었습니다

 

그런데 깃허브의 여러 레포를 찾아봐도

Redis, aws 같은 설정들은 따로 xxxConfig.java파일을 만들어 관리를 하는 반면 

Service나 Repository계층의 파일들은 따로 @Configuration을 설정하지 않는 경우가 대다수였습니다

 

결론적으로

xxService, xxRepository같은 파일들은 @Configuration을 붙이지 않고 싱글톤으로 관리를 하지 않는것인가요??

왜 xxConfig.java파일을 만들어 따로 관리를 하지 않는것인가요??

답변 2

0

dongmin.na님의 프로필 이미지
dongmin.na
질문자

Configuration과 바이트코드 조작 부분에서

@Bean만 사용한다면 등록만 될 뿐이고,  싱글톤을 보장하지 않는다라고 들었는데

제가 잘못 이해한 건가요??

"xxService, xxRepository같은 파일들은 @Configuration을 붙이지 않고 싱글톤으로 관리를 하지 않는것인가요??" 라고 물으셔서 아래와 같이 답변드립니다.

 @Service, @Repository (컴포넌트 스캔 대상)을 붙이게 된다면 Configuration을 통한 수동 등록 없이도 빈으로 등록되며 싱글톤으로 관리됩니다.

말씀하신 부분은 @Configuration 없이 @Bean만 붙여서 사용했을 때입니다.

 

"ComponentScan을 통한 빈 자동 등록이든, Bean을 통한 수동 등록이든

Configuration으로 설정해주지 않으면 싱글톤으로 관리는 어렵다고 강의를 들었습니다"

해당 부분에서 컴포넌트 스캔에 대한 부분은 잘못 이해하고 계신 것 같습니다. 

dongmin.na님의 프로필 이미지
dongmin.na
질문자

답변 감사합니다~ 궁금증이 풀렸습니다!

0

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

"ComponentScan을 통한 빈 자동 등록이든, Bean을 통한 수동 등록이든

Configuration으로 설정해주지 않으면 싱글톤으로 관리는 어렵다고 강의를 들었습니다"

혹시 이렇게 언급된 강의를 말씀해주실 수 있으실까요?

 

Configuration을 통해 수동으로 빈을 등록하지 않고 ComponentScan을 통해 빈을 등록하더라도 싱글톤(스코프를 변경하지 않는 이상)으로 관리됩니다.

.
감사합니다.

dongmin.na님의 프로필 이미지
dongmin.na

작성한 질문수

질문하기