[Spring] xml을 기반으로 한 bean 설정하기(1)
XML 기반 설정(XML Configuration)
- <bean> 태그를 이용하여 빈을 설정한다.
- Class파일들과 설정을 분리할 수 있고, 관심사의 분리 관점이 적용된다.
- 간단한 설정 변경은 별도의 컴파일 없이 가능하다.
- xml의 값들은 모두 String 형이기때문에 type safe하지 않다.(단점)
XML 설정하기
1) <Beans> 루트 엘리먼트
- 스프링 xml 설정의 최상위 태그(루트 엘리먼트)
- <beans> 엘리먼트 시작태그에 네임 스페이스를 비롯한 xml 스키마 관련정보 설정
- 하위 엘리먼트
- <bean> <description> <alias> <import>
2) <import> 엘리먼트
- 분리하여 작성한 설정 파일들을 하나로 통합할때 사용하는 엘리먼트
- 다국적 언어처리 예외처리 등을 기능별로 설정파일로 나누어 효율적으로 관리
- 속성: resourse: 포함할 설정 파일
- 예 : <import resourse="classpath:appContext.xml"/>
3)<bean> 엘리먼트
스프링 컨테이너에 빈을 정의한다.
주요 속성
id | 빈 id 설정(유일해야함) 컨테이너로 부터 빈 객체를 요청할 때 사용 자바 식별자 작성 규칙을 따름 자바코드에서 getBean()으로 빈을 가져옴 주입 설정에서 ref 속성으로 빈을 참고하는 경우 사용 |
name | id와 같은 기능을 하는 속성 자바 식별자 규칙을 따르지 않는 문자열도 가능(유일성) |
class | 빈으로 등록할 클래스 설정(필수) 패키지명을 포함한 클래스명을 지정한다. |
scope | 빈의 scope 설정(기본: singleton) singleton : 스프링 ioc 컨테이너에 하나의 객체만 생성하여 빈 요청시 동일 객체 반환 prototype : 빈 요청시 새로운 객체 생성 반환 |
primary | true를 지정하여 같은 타입의 빈이 여러가지일 경우 우선적으로 사용할 빈 설정 |
lazy-init | true를 지정하여 빈을 사용시 객체가 생성되도록 설정 |
init-method | 빈 객체가 생성될 때 호출할 메소드 설정 |
destroy-method | 빈 객체가 소멸될 때 호출할 메소드 설정 |
autowire | 의존 관계를 자동설정 byName, byType, constructor 중 하나의값 |
4)<bean>의 하위 엘리먼트
<constructor-arg> : 인자가 있는 생성자 생성시 인자에 값을 전달
<property> : setter을 이용하여 프로퍼티 설정시 set에 값을 넘겨준다.
'Framework > Spring' 카테고리의 다른 글
[Spring] @Controller @RequestMapping @GetMapping @PostMapping (0) | 2020.12.01 |
---|---|
[Spring] Spring Web MVC (0) | 2020.11.25 |
[Spring] 스프링 컨테이너 & DI(Dependency Injection) (0) | 2020.11.24 |
[Spring] 스프링이란?? (0) | 2020.11.24 |
댓글