도담도담

스프링 설정파일 (applicationContext) 본문

IT 공부/Spring Framework

스프링 설정파일 (applicationContext)

Zinisang 2021. 6. 16. 18:33

스프링 설정파일 생성

 

프로젝트의 src/main/resource 소스 폴더 오른쪽 -> [new] -> [Other] 클릭

 

Spring 폴더에 있는 'Spring Bean Configuration' 선택

 

[File name]에서 'applicationContext'를 입력하고 [Finish]

 

이때 기본으로 <beans>루트 엘리먼트와 네임스페이스 관련 설정들이 추가되어 제공된다.

 


스프링 XML설정

<beans> 루트 엘리먼트

  • 스프링 프로젝트에서 가장 중요한 역할을 담당, 이 설정 파일을 정확하게 작성하고 관리하는것이 제일 중요하다.
  • 설정파일의 이름은 무엇을 사용하든 상관없지만, <beans>를 루트 엘리먼트로 사용해야 한다.
  • 기본적으로 네임스페이스, XML 스키마 관련 정보가 함께 설정된다.

<bean> 엘리먼트

  • id 와 class 속성을 사용하여 모든 데이터 흐름을 관할한다.
  • id 속성은 생략할 수 있지만, class 속성은 필수이다.
  • class 속성을 등록할 때는 정확한 피키지 경로와 클래스 이름을 지정해야 한다. (자동완성기능 사용을 추천)
  • id 속성은 개체들 사이에서 유일해야 한다. 그래야 각 컨테이너가 각 객체를 식별할 수 있다.
  • id는 낙타 표기법을 사용하고, 숫자로시작하거나 특수기호 사용, 중간에 공백이있으면 안된다.

<bean> 엘리먼트 속성

  1. init-method 속성 : 메서드를 재정의(Overriding) 하여 멤버변수를 초기화
    • <bean id="tv" class="zinisang.ATV" init-method="initMethod" />
  2. destroy-method 속성 : 스프링 컨테이너가 객체를 삭제하기 직전에 호출될 임의의 메서드를 지정
    • <bean id="tv" class="zinisang.ATV" destroy-method="destroyMethod" />
  3. lazt-init 속성 : 해당 <bean>을 미리 생성하지 않고 클라이언트가 요청하는 시점에서 생성
    • <bean id="tv" class="zinisang.ATV" lazy-init="ture" />
  4. scope 속성 : 해당 bean이 스프링 컨테이너에 의해 단 하나만 생성되어 운용 (기본값 : 싱글톤)
    • <bean id="tv" class="zinisang.ATV" scope="singleton" />
Comments