Spring에서 POJO(plain, old java object)를 Beans라고 부름
Beans는 애플리케이션의 핵심을 이루는 객체임
Spring IoC 컨테이너에 의해 인스턴스화, 관리, 생성됨
(IoC가 관리하는 객체)
Beans는 우리가 컨테이너에 공급하는 설정 메타 데이터(xml 등)에 의해 생성됨
=> 컨테이너는 이 메타 데이터를 통해 Bean의 생성 / Life Cycle / Dependecy를 알 수 있음
애플리케이션의 객체가 지정되면 해당 객체는 getBean()메서드를 통해 가져올 수 있음
XML파일에 Bean을 직접 등록하는 것은 다소 고전적인 방법임
어노테이션(@Bean / @Component / @Service / @Repository 등)으로 생성하는 것이 일반적(Spring Boot)
=> 각 어노테이션들은 @Component를 상속받는 구조(Service, Repository, Controller 등)
=> 따라서, 이러한 어노테이션들은 Component 어노테이션보다 조금 더 구체적인 개념이라고만 알고있자
@Bean, @Configuration 어노테이션 사용하는 방법
=> 자바 설정 클래스를 이용하는 것
특정 형태의 클래스를 가리키는 말
DTO, VO의 형태
private으로 구성, getter/setter 통해서만 접근 가능
전달인자가 없는 생성자를 가지는 구조
POJO와 거의 동일한 개념
스프링 IoC 컨테이너가 관리하는 Java 객체
스프링에 의해 생성되고, 라이프 사이클을 수행하며 의존성 주입이 일어나는 객체
@Bean
메서드 위에 선언 가능함
외부 라이브러리를 Bean으로 등록할 때 사용
@Component