스프링 XML 기본 설정
스프링 XML 설정
루트 엘리먼트
-
스프링에 빈을 등록하기 위해 을 루트 엘리먼트로 사용하고 그안에 자식 엘리먼트들을 이용해야한다.
-
자식 엘리먼트들로는 , , , 등이 있다.
엘리먼트
-
스프링 설정에는 단순한 빈설정 이외에 트랜잭션 관리, 예외 처리, 다국어 관리 등이 있다.
-
하나의 XML 설정파일에 모든 걸 설정하기에는 유지보수에 적합하지 않다.
-
따라서 기능별이나 주제별 등으로 분리하여 관리하여 보관하는 것이 바람직하다.
-
엘리먼트는 이렇게 분리된 설정 파일들을 불러와 통합할 때 사용된다.
-
루트 설정 파일에서 엘리먼트를 사용하면, 마치 여러 설정 파일을 하나의 파일로 포함한 것으로 처리되는 느낌이다.
엘리먼트
-
스프링 설정 파일에서 클래스를 빈으로 등록할 때 사용한다.
-
id와 class 속성을 이용할 수 있으며, class 속성은 필수값이다.
-
id 속성을 지정하지 않아도 빈으로 등록되는 것은 문제가 없지만, 빈에 대한 유일한 식별자가 없게된다.
-
id 속성이외에 name 속성이 있으며, 둘의 차이는 id 속성 값으로는 자바 식별자와 같은 규칙을 가지지만, name 속성에는 특별한 규칙이 없다는 것이다.
-
하지만 둘다 유일한 값이어야 한다는 것은 일치하며, 왠만해서는 규칙에 따른 id값을 사용하는 것이 좋겠다.
-
-
속성 정리
-
init-method
-
스프링 컨테이너는 빈을 등록하기 위해 객체를 생성할 때, 디폴트 생성자만 인식한다.
-
따라서, 초기화 작업 등의 별도의 실행할 메소드가 필요하다면 지정할 수 있다.
-
-
destroy-method
- init-method와 마찬가지로, 스프링 컨테이너가 빈을 삭제할 때 호출하는 메소드를 지정할 수 있다.
-
lazy-init
- ApplicationContext 컨테이너를 이용하는 경우에는 구동하는 시점에서 즉시 빈등록이 된다고 했는데, 해당 속성을 통해 lazy-loading을 지정할 수 있다.
-
scope
-
스프링 컨테이너가 생성한 빈을 싱글톤으로 사용할 지, 프로토타입으로 사용할지 등을 지정할 수 있다.
-
기본값은 싱글톤이며, 프로토타입으로 지정할 경우 생성되는 빈들은 각기 다른 주소를 가진다.
-
-
댓글
댓글 쓰기