강의

멘토링

로드맵

Inflearn brand logo image

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

윤휘영님의 프로필 이미지
윤휘영

작성한 질문수

토비의 스프링 6 - 이해와 원리

스프링 컨테이너와 의존관계 주입

빈에 대한 질문

해결된 질문

작성

·

54

0

안녕하세요. 제가 빈에 대해 정리한 문장에 대해 교정 부탁드립니다.

  1. 빈은 스프링 컨테이너(즉, 스프링)에 의해 관리되는 객체이다.

  2. 관리라는 것은 객체의 생성부터 의존성 주입 등 기존 프로그래머가 해줘야 했던 작업을 스프링이 해 주는 것이다.

  3. 즉 스프링 빈은 제어의 역전의 주 대상이다.

  4. 내가 작성한 클래스의 객체의 제어권을 스프링에게 넘겨주려면, 그 객체를 반환하는 멤버함수를 작성해서 @Bean을 붙여준다. 멤버함수가 소속된 클래스에는 @Configuration을 붙여서, 이 클래스의 멤버함수는 빈을 반환한다고 스프링에게 선언한다.

빈이라는 개념이 참 햇갈리네요. 식견이 짧아 저 정도밖에 이해를 못하겠습니다. 틀린 부분 교정 부탁드립니다.

 

답변 1

1

토비님의 프로필 이미지
토비
지식공유자

거의 완벽하게 정리하셨네요. @Bean이라는 팩토리 메소드 대신 빈 스캔에 의해서 자동으로 등록되는 것도 추가하면 되겠고요.

애플리케이션 코드에서 직접 생성하고 의존 오브젝트를 연결하지 않고, 컨테이너에서 만들어지고 관계가 주입되는 방식을 보통 managed object라고 합니다. 그 중에서 스프링 컨테이너에서 만들어지는 것을 관례적으로 스프링 빈이라고 합니다. 빈은 자바에서 원래 프로퍼티를 가진 오브젝트를 부르는 이름이지요.

왜 이런 방식을 선호하는지는 강의에서 자세히 설명드렸는데, 그래도 잘 이해가 안 되는 부분이 있다면 질문을 해주세요.

 

윤휘영님의 프로필 이미지
윤휘영

작성한 질문수

질문하기