class A,B,C가 있다고 치자.
이 class들을 Bean으로 등록하게 되면, Spring IoC container에 new A,new B, new C 이렇게 instance화해서 저장한다. 그리고 여기에 각각의 설정에 따른 값을 입혀서 객체를 생성하게 된다. 이러한 객체들을 Bean이라고 한다.
IoC Container 안에 있는 Application Context가 위와 같은 역할을 하며, 관리자 같은 역할을 한다. (설정, spring동작에 관한 전략등을 담았다.)
Bean 등록을 과거에는 xml로 따로 관리하여 등록했다.(일일이 다 타이핑하고 쳐야해서 관리하기 힘들다...)
현재는 annotation으로 편리하게 할 수 있다.
(@Conroller @Service @Bean 등등)
annotaion을 모두 스캔해서 Bean으로 자동으로 등록시켜준다.
Bean의 이름은 원래 클래스 이름에서 첫글자를 소문자로 바꿔서 등록해준다.(임의 설정 가능)
Scope : Bean을 생성하는 규칙
Bean LifeCycle callback