여기에서는 2장(2.2.2절)에서 배운 스테레오타입 애너테이션인 @Component를 사용한다. 즉, 구성 클래스로 빈을 생성하는 대신 스테레오타입 애너테이션을 사용한다. @Component로 클래스에 애너테이션을 할 때 스프링은 해당 클래스의 인스턴스를 생성하고, 스프링 컨텍스트에 추가해야 한다는 것을 알고 있다. 다음 코드는 Person 클래스의 정의를 보여 준다.
@Component
public class Person {
private String name = "Ella";
@Autowired ← 필드에 @Autowired 애너테이션을 추가하면, 해당 컨텍스트에서 적절한 값을 주입하도록 스프링에 지시하게 된다.
private Parrot parrot;
// getters와 setters 생략
}
Note ≣ | 이 예제에서는 스테레오타입 애너테이션을 사용하여 스프링 컨텍스트에 빈을 추가했다. @Bean을 사용하여 빈을 정의할 수도 있지만, 실제 시나리오에서는 대부분 스테레오타입 애너테이션과 함께 @Autowired를 쓸 때가 많으므로 가장 유용한 이 방식에 집중해 보자.