1.8 XML을 이용한 설정 DI 의존관계 설정정보 만드는 방법 단순 텍스트 파일이라 다루기 쉬움 쉽게 이해 가능 별도 빌드 작업이 없음 환경 변화에 빠르게 변경사항 반영 가능 XML 설정 @Bean 메소드를 통해 얻을 수 있는 빈의 DI정보 빈의 이름: @Bean메소드 이름이 빈의 이름, getBean()에서 사용 빈의 클래스: 빈 오브젝트를 어떤 클래스를 이용해서 만들지 결정 빈의 의존 오브젝트: 빈의 생성자, 수정자 메소드를 통해 의존 오브젝트를 넣어줌 클래스 설정과 XML 설정 대응항목 구분 자바 코드 설정정보 XML 설정 정보 빈 설정파일 @Configuration 빈의 이름 @Bean methodName() UserDao 전환 수정자 메서드 선호하는 이유 XML로 의존관계 정보 생성시 편리함 ..
1.7 의존관계 주입(DI) DI(Dependency Injection): 오브젝트 레퍼런스를 외부로부터 주입받고 이를 통해 오브젝트와 다이내믹하게 의존관계가 만들어지는 것 DaoFactory처럼 객체를 생성하고 관계를 맺어주는 등의 작업을 담당하는 기능을 일반화한 것이 스프링의 IoC 컨테이너 의존관계 주입 일어나는 방법에 초점을 맞춘 것 런타임 의존관계 설정 의존관계 누가 누구에게 의존하는 관계 의존관계는 방향성이 존재함 UserDao의 의존관계 UserDao가 ConnectionMaker에 의존하는 형태 ConnectionMaker의 변화는 UserDao에도 영향을 줌 ConnectionMaker 인터페이스를 구현한 클래스의 변화는 UserDao에 영향을 주지 않음 인터페이스에 대해서만 의존관계 형..
1장 오브젝트와 의존관계 싱글톤 레지스트리와 오브젝트 스코프 **오브젝트의 동일성과 동등성(Java)** - 동일성은 == 연산자 - 동등성은 equals() 메소드 - 동일성은 결국 하나의 오브젝트만 존재하나 두개의 오브젝트 레퍼런스 변수만 가지고 있는 상태 - 동등성은 두 개의 다른 오브젝트가 메모리상에 존재하지만 로직상의 정의에 따라 오브젝트 정보가 같다고 판단 Singleton Registry(싱글톤 레지스트리) 기본적으로 별다른 설정이 없으면 내부에서 생성하는 빈 오브젝트를 모두 싱글톤으로 만듦 서버 애플리케이션과 싱글톤 스프링은 하나의 요청을 처리하기 위해 계층형 구조로 이루어짐 서비스 오브젝트 개념 도입 싱글톤 패턴(Singleton Pattern) 어떤 클래스를 애플리케이션 내에서 제한된 ..
스프링의 IoC Bean(빈) 스프링이 IoC 방식으로 관리하는 오브젝트 스프링이 직접 제어권을 갖고 생성과 제어를 담당하는 오브젝트 Bean Factory(빈 팩토리) 스프링의 IoC를 담당하는 핵심 컨테이너 빈의 등록, 생성, 조회, 그 외 부가적인 빈을 관리하는 기능 Application Context(애플리케이션 컨텍스트) 빈 팩토리를 확장한 IoC 컨테이너 스프링이 제공하는 각종 부가 서비스 추가 애플리케이션 컨텍스트가 구현해야 하는 기본 인터페이스 지칭 애플리케이션 컨텍스트 DaoFactory에 대응되는 것이 스프링의 ApplicationContext ApplicationContext 장점 클라이언트가 구체적인 팩토리 클래스를 알 필요 없음 종합 IoC서비스 제공 빈을 검색하는 다양한 방법 제..