스프링이 생성하지도 관여하지도 않고 이러한 이유로 XML 안을 들여다 볼 이유가 없다.
그래서 여기서 중요한점은 Autowired 처럼 Component 애노테이션을 읽는 설정을 따로 해줘야한다.( component-scan 부분)
이 설정을 하면 안에있던 @Autowired 도 읽어버려서 @Autowired를 읽어줘 라고 작성한 코드 (config) 를 지워도 괜찮다.
xml할떄는 id를 부여했지만 Component("객체이름") 을 넣는다
XML 을 애노테이션(@Configuration)을 이용해 자바 클래스로 만들어 준다.
설정을 위한(XML) 자바클래스 표시 = @Configuration
xml에 있던 component scan 도 애노테이션 @ComponentScan("패키지명") 으로 바꿔준다.
bean 태그는 @Bean 애노테이션으로 바꿔준다.(Bean은 객체를 ioc에 담아주는 역활)
@Bean에 선언된 메서드는 함수명이라 생각하지말고 xml의 id값이라 생각하자
ApplicaitonContext를 무엇을 쓰느냐에 따라 xml을 쓸것인지 애노테이션을 쓸것인지 나뉘어진다.
AnnotationConfigApplicationContext(클래스이름.class)
-> 클래스는 @Configuration 이 쓰여져 있는 클래스