@Bean
public MemberDao memberDao() {
return new MemberDao();
}
@Bean
public ChangePasswordService changePwdSvc() {
ChangePasswordService pwdSvc = new ChangePasswordService();
//pwdSvc.setMemberDao(memberDao()); 생략
return pwdSvc;
}
의존 객체를 직접 명시하지 않아도 스프링이 의존 객체를 주입
의존할 대상에 @Autowired 애노테이션을 표기
@Autowired 애노테이션은 메서드에도 붙일 수 있음
setter 메서드에 @Autowired 애노테이션을 붙이면, 인자가 없는 기본 생성자를 추가할 수 있음
@Autowired 애노테이션을 적용한 대상에 일치하는 빈이 없는 경우, 예외 발생
@Autowired 애노테이션을 붙인 주입 대상에 일치하는 빈이 두 개 이상인 경우, 예외 발생
@Bean
public MemberPrinter memberPrinter1() {
return new MemberPrinter();
}
@Bean
public MemberPrinter memberPrinter2() {
return new MemberPrinter();
}
@Qualifier 애노테이션을 사용하면 자동 주입 대상 빈을 한정할 수 있음
@Bean
@Qualifier("printer")
public MemberPrinter memberPrinter() {
return new Memberprinter();
}