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

감바스님의 프로필 이미지
감바스

작성한 질문수

스프링 핵심 원리 - 기본편

생성자 주입을 선택해라!

안녕하세요 지금까지 배웠던 내용을 정리하고 있는데 맞게 정리를 한건지 궁금해서 질문을 합니다.

해결된 질문

작성

·

325

1

[질문 내용]

스프링 컨테이너에 스프링 빈을 등록 할때 등록이 되는 빈들은 스프링 컨테이너가 관리해줬으면 하는 객체들을 저장하는 거다. 그리고 스프링 컨테이너에 스프링 빈을 등록하는 가장 큰 이유는 의존관계 주입을 스프링 컨테이너에 맡겨서 좋은 객체지향 약속들을(OCP, DIP) 지키기 위해서다.

스프링 빈이 등록 될때 키 : 값 => 빈 이름 : 빈 객체로 저장이 된다. 스프링 빈에 등록을 할때는 @Configuration과 @Bean을 이용해서 수동으로 등록을 할 수 있고 @ComponetScan을 사용해서 @Componet, @Service, @Controller, @Repository가 붙은 클래스들을 자동으로 등록을 할 수가 있다.

수동으로 등록을 할때에는 빈 이름은 메소드 이름이 빈 객체는 해당 메소드가 반환하는 객체가 자동으로 등록을 할때에는 빈 이름은 클래스 이름이(클래스 이름 맨 앞에는 소문자) 빈 객체는 해당 클래스의 객체가 저장이 된다.

수동으로 등록 할때 주의 할 점은 @Bean만 쓰면 스프링 빈으로 등록이 되지만 싱글톤으로 관리 되지는 않는다 싱글톤으로 관리 되기 위해서는 @Configuration과 @Bean을 같이 써야 한다.


감사합니다.

답변 1

0

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

저도 동일하게 이해하고 있습니다. 잘 정리하신 것 같습니다!

감사합니다.

감바스님의 프로필 이미지
감바스

작성한 질문수

질문하기