Spring Bean
- Spring IoC container가 관리하는 객체
Bean과 의존성 주입
- 의존성 없이는?
- new 를 사용해서 객체를 직접 생성
- 그러다보면 controller, service와 같은 객체는 계속 새로 생성 => 갱신이 반복되어 작업이 유지되질 않음
- 객체 하나를 생성하기 위해서( 인자 객체를 같이 계속 생성해야할 수 있음)
- 의존성으로 유지가 될 수 있다.
Bean과 Singleton
- 객체가 생성되면 annotation을 통해 configuraion에 등록
=> singleton이 된다.
- 의존 설정을 통해서 container가 알아서 넣어준다.
- 초기화 과정을 지나면 bean을 사용하게 된다.
- 사용 주기가 끝나면 소멸시킨다.
- @scope를 통해서 Bean의 사용될 범위를 지정할 수 있다.
Spring IoC Container과 Bean
- 다형성 생성자일 경우, @primary로 우선순위를 줄 수 있다.
- 상황에 따라 넣어주고 싶다면, @Qualifier를 사용하면 된다.
annotation
- 어노테이션을 넣는다는 것은 Bean으로 보고 IoC가 생명주기를 관리해준다는 뜻으로 넣는 것이다.