작성
·
257
0
안녕하세요 완강 후 복습 중 질문이 생겨 글을 씁니다
ComponentScan을 통한 빈 자동 등록이든, Bean을 통한 수동 등록이든
Configuration으로 설정해주지 않으면 싱글톤으로 관리는 어렵다고 강의를 들었습니다
그런데 깃허브의 여러 레포를 찾아봐도
Redis, aws 같은 설정들은 따로 xxxConfig.java파일을 만들어 관리를 하는 반면
Service나 Repository계층의 파일들은 따로 @Configuration을 설정하지 않는 경우가 대다수였습니다
결론적으로
xxService, xxRepository같은 파일들은 @Configuration을 붙이지 않고 싱글톤으로 관리를 하지 않는것인가요??
왜 xxConfig.java파일을 만들어 따로 관리를 하지 않는것인가요??
답변 2
0
Configuration과 바이트코드 조작 부분에서
@Bean만 사용한다면 등록만 될 뿐이고, 싱글톤을 보장하지 않는다라고 들었는데
제가 잘못 이해한 건가요??
"xxService, xxRepository같은 파일들은 @Configuration을 붙이지 않고 싱글톤으로 관리를 하지 않는것인가요??" 라고 물으셔서 아래와 같이 답변드립니다.
@Service, @Repository (컴포넌트 스캔 대상)을 붙이게 된다면 Configuration을 통한 수동 등록 없이도 빈으로 등록되며 싱글톤으로 관리됩니다.
말씀하신 부분은 @Configuration 없이 @Bean만 붙여서 사용했을 때입니다.
"ComponentScan을 통한 빈 자동 등록이든, Bean을 통한 수동 등록이든
Configuration으로 설정해주지 않으면 싱글톤으로 관리는 어렵다고 강의를 들었습니다"
해당 부분에서 컴포넌트 스캔에 대한 부분은 잘못 이해하고 계신 것 같습니다.