2008/02/05 3

[Spring] 세터 주입(Setter Injection)의 대안

세터 주입(Setter Injection)의 대안 - 생성자 주입(Constructor Injection) 세터 주입은 빈 특성을 설정하고 묶을 수 있는 직관적인 방법이지만, 한 가지 단점은 변경될 수 있는 모든 특성이 세터 메소드를 통해서 사용할 수 있다고 가정하는 것에 있다. 하지만 빈이 이와 같은 방식으로 작동하기를 원하지 않을 때, 이런 유형의 빈이 인스턴스화될 때에는 어떤 특성도 설정될 수 없으며, 따라서 빈이 유효하지 않은 상태로 있을 가능성이 있다. 어떤 특성들은 빈이 생성될 때 한 번만 설정되고 그 이후에는 변경될 수 없도록 만들고 싶은 경우도 있다. 이는 세터를 통해 모든 특성을 공개하는 경우에는 곤란해진다. 대안은 일부 특성들은 생성자 를 통해 설정될 수 있도록 빈을 설계하는 것이다. ..

backend/Spring 2008.02.05

[Spring] 빈 묶기(Bean wiring)

빈 묶기(Bean wiring) XML로 묶기 : 다음을 이용해 스프링 컨테이너가 XML을 통한 빈 묶기를 지원한다. XmlBeanFactory ClassPathXmlApplicaionContext FileSystemXmlApplicationContext XmlWebApplicationContext 프로토타입과 싱글톤 비교 스프링의 모든 빈은 싱글톤. getBean()의 호출에 의해서든 묶기를 통해서든 간에, 컨테이너가 빈을 배포할 때에는 항상 그 빈의 완전히 동일한 인스턴스를 내줄 것이다. scope="singleton" scope="prototype" 프로토타입 빈을 정의하는 것이 유리할 때 프로토타입을 정의한다는 것은 실제 하나의 빈을 정의하는 것이 아닌, 청사진을 정의한다는 의미다. 그 다음엔 그..

backend/Spring 2008.02.05

[Spring] 스프링 컨테이너의 두 종류

스프링 컨테이너의 두 종류 컨테이너 안의 빈(Bean) 컨 테이너는 스프링 프레임워크의 핵심이다. 스프링 컨테이너는 제어 역행(IoC)을 사용해 애플리케이션을 구성하는 컴포넌트들을 관리한다. 여기에는 협력하는 컴포넌트간의 연관관계를 생성하는 것이 포함된다. 그렇게 함으로써 객체는 좀더 명확하게 이해할 수 있고, 재사용이 가능해지며, 단위테스트가 쉬워진다. 스프링 컨테이너의 두 종류 org .springframework.beans.factory.BeanFactory 인터페이스로 정의되는 빈 팩토리 기본적인 의존성 주입을 지원하는 가장 간단한 형태의 컨테이너 org .springframework.context.ApplicationContext 인터페이스로 정의되는 어플리케이션 컨텍스트. 프로퍼티 파일의 텍스..

backend/Spring 2008.02.05