스프링 컨테이너에 저장돼서 필요한 의존 관계를 설정해 줄 수 있음
스프링은 스프링 컨테이너에 스프링 빈을 등록할 때 싱글톤을 적용함
싱글톤은 유일하게 하나만 등록해서 사용하는 방법이다.
@Component 애노테이션이 있으면 자동으로 스프링 빈으로 저장된다
@Controller, @Service, @Repository 모두 @Component를 포함한다
DI (Dependancy Injection)
생성자에 @Autowired 애노테이션이 있으면 스프링이 연관된 객체를 스프링 컨테이너로부터 찾아서 연결해준다.
- 필드 주입
생성자나 세터 없이 만드는 방법이다. 조작에 좋지 않은 방법이다.
- setter 주입
setter에 @Autowired를 붙여 만드는 방법이다. public으로 된 메서드기 때문에 불필요한 호출이 있을 수 있다.
- 생성자 주입
애플리케이션이 조립될 때, 생성되고 나서 setter처럼 호출될 일 없다. 권장되는 방법이다.
실행 파일이 있는 패키지에 Config 페이지를 만든다.
@Configuration 클래스와 @Bean 메소드를 만들어서 직접 정의가 가능하다.
XML로 설정하는 방법은 생략