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

조회 대상이 모호한 경우: 부모 타입과 함께 자식 타입도 함께 조회됨

IoC 컨테이너

Bean을 담고 있는 그릇 (작성했던 AppConfig 이상의 유용한 기능) 객체 생성, 라이프사이클 관리, 의존성 설정