토비 스프링

    [토비의 스프링 - Vol.2] 1장 - 1.3 프로토타입과 스코프

    1.3.1 프로토타입 스코프스코프 스코프는 존재할 수 있는 범위를 가리키는 말이다. 빈의 스코프는 빈 오브젝트가 만들어져 존재할 수 있는 범위다. 빈 오브젝트의 생명주기는 스프링 컨테이너가 관리하기 때문에 대부분 정해진 범위의 끝까지 존재한다. 싱글톤 스코프는 컨테이너 스코프라고 하기도 한다. 단일 컨테이너 구조에서는 컨테이너가 존재하는 범위와 싱글톤이 존재하는 범위가 일치하기 때문이다. 요청(request) 스코프는 하나의 요청이 끝날때 까지만 존재한다. 싱글톤 스코프는 컨텍스트당 한 개의 오브젝트만 만들어지게 함하나의 빈을 여러 개의 빈에서 DI하더라도 매번 동일한 오브젝트가 주입 (DI, getBean(), 등)@Test public void singletonScope() { ApplicationC..

    [토비의 스프링 - Vol.2] 1장 - 1.2.5 컨테이너가 자동등록하는 빈

    1.2.5 컨테이너가 자동등록하는 빈스프링 컨테이너는 초기화 과정에서 몇 가지 빈을 기본적으로 등록 (자주 사용 X) ApplicationContext, BeanFactory스프링에서는 컨테이너 자신을 빈으로 등록해두고 필요하면 일반 빈에서 DI 받아 사용 가능스프링 컨테이너는 ApplicationContext 인터페이스를 구현체@Autowired로 자동와이어링을 이용하는 방법이 가장 쉬운 방법 (@Resource도 사용 가능)public class SystemBean { @Autowired ApplicationContext context; public void specialJobWithContext() { this.context.getBean(...); } }애노테이션을 이용한 설정을 못쓴다면 Appl..

    [토비의 스프링 - Vol.2] 1장 - 1.2.4 프로퍼티 값 설정 방법

    1.2.4 프로퍼티 값 설정 방법DI를 통해 빈에 주입되는 것은 두가지다른 빈 오브젝트의 래퍼런스 단순 값 (빈이 아닌 모든 것) 메타정보 종류에 따른 값 설정 방법값을 넣는 방법도 네가지로 구분이 가능1. XML:와 전용 태그는 ref 애트리뷰트를 이용해 다른 빈의 아이디 지정이 가능ref 대신 value 애트리뷰트를 사용하면 런타임시 주입할 값으로 인식String이 가장 간단한 타입이며, int, float, double, boolean, 등 기본 타입이거나 Class Resource같은 단순하지 않은 오브젝트는 적절한 변환이 필요스프링 컨테이너는 XML의 문자열로 된 값을 프로퍼티 타입으로 변환하는 서비스를 내장2. 애노테이션:@Value빈이 사용해야할 단순한 값이나 오브젝트를 런타임시에 주입해야하..