Ctrl + Alt + V
객체 인스턴스로 변수만드는 단축키
@Configuration
public class AppConfig {
@Bean
MemberService memberService(){
return new MemberServiceImpl(memberStorage());
}
@Bean
BookService bookService(){
return new BookServiceImpl(feePolicy());
}
@Bean
MemberStorage memberStorage(){
// return new DbMemberStorage();
return new FileMemberStorage();
}
@Bean
FeePolicy feePolicy(){
return new NewFeePolicy();
}
}
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);
MemberService memberService = ac.getBean("memberService", MemberService.class);
getBean
조회 대상이 모호한 경우: 부모 타입과 함께 자식 타입도 함께 조회됨
Bean을 담고 있는 그릇 (작성했던 AppConfig 이상의 유용한 기능) 객체 생성, 라이프사이클 관리, 의존성 설정