본문 바로가기

IoC 컨테이너 6장 이 문서는 개인적인 목적이나 배포하기 위해서 복사할 수 있다. 출력물이든 디지털 문서든 각 복사본에 어떤 비용도 청구할 수 없고 모든 복사본에는 이 카피라이트 문구가 있어야 한다. 4.5 빈(Bean) 범위 빈 정의를 생성할 때 빈 정의로 정의한 클래스의 실제 인스턴스를 생성하기 위해 레시피를 만든다. 클래스처럼 하나의 레시피에서 많은 객체 인스턴스를 생성할 수 있다는 것을 의미하기 때문에 빈 정의가 레시피라는 개념은 중요하다. 특정 빈 정의로 생성한 객체에 연결할 다양한 의존성과 설정값뿐만 아니라 생성된 객체의 범위도 제어할 수 있다. 이 접근방법은 자바 클래스 레벨에서 객체의 범위를 생성하는 대신에 설정을 통해서 생성한 객체들의 범위를 선택할 수 있으므로 강력하고 유연하다. 빈을 여러 가지 범위 중 .. 더보기
IoC 컨테이너 5장 이 문서는 개인적인 목적이나 배포하기 위해서 복사할 수 있다. 출력물이든 디지털 문서든 각 복사본에 어떤 비용도 청구할 수 없고 모든 복사본에는 이 카피라이트 문구가 있어야 한다. 4.4.3 depends-on의 사용 빈 이 다른 빈의 의존성이 있다면 보통 빈은 다른 빈의 프로퍼티로 설정된다는 것을 의미한다. 일반적으로 이는 XML 기반의 설정 메타데이터에서 요소로 설정한다. 하지만 종종 빈들 사이의 의존성은 직접적이지 않을 수 있다. 예를 들어 데이터베이스 드라이버 등록같은 클래스의 정적 초기화(static initializer)는 실행될 필요가 있다. depends-on 속성은 요소로 빈을 초기화하기 전에 명시적으로 하나 이상의 빈을 강제적으로 초기화한다. 다음 예제는 하나의 빈의 의존성을 나타내려고.. 더보기
IoC 컨테이너 4장 이 문서는 개인적인 목적이나 배포하기 위해서 복사할 수 있다. 출력물이든 디지털 문서든 각 복사본에 어떤 비용도 청구할 수 없고 모든 복사본에는 이 카피라이트 문구가 있어야 한다. 4.4.2 의존성과 설정에 대한 자세한 내용 이전 섹션에서 얘기했듯이 빈 프로퍼티와 생성자 아규먼트를 다른 곳에서 관리되는 빈(협력 객체)에 대한 참조나 인라인으로 정의된 값으로써 정의할 수 있다. 스프링의 XML기반의 설정 메타데이터는 이를 위해 와 요소내에서 서브 엘리먼트 타입을 지원한다. 4.4.2.1 스트레이트(Straight) 값 (프리미티브(primitive), Strings 등등) 요소의 value 속성은 사람이 읽을 수 있는 문자열로 프로퍼티나 생성자 아규먼트를 지정한다. 앞에서 얘기했듯이 이러한 문자열 값을 S.. 더보기