xml
특징
◎ 세상의 모든 컨테이너는 설정 파일을 필요로 한다.
⇨ 이 때의 설정파일은 xml 파일이다.
◎ 스프링 컨테이너 역시 설정파일을 필요로한다.
⇨ 이 때의 설정파일은 applicationContext.xml이다.
◎ xml은 태그로 구성되어 있다.
⇨ 최상이 태그가 <web-app>이다.
⇨ 각종 설정들이 태그로 작성되어 있다.
<bean> 태그
특징
◎ xml 태그의 핵심이다.
◎ new를 대신해주는 태그이다.
⇨ 결합도가 낮아진다.
작성
<bean class="패키지 경로.클래스명" id="객체명">
Phone phone = new Phone();
<bean class="test.Phone" id="phone">
속성
◎ init-method = "메서드"
⇨ 생성자 역할을 해줄 메서드를 new 하는 타이밍에 호출할 수 있는 속성
⇨ 멤버변수 초기화 역할을 해줄 메서드이다.
◎ lazy-init = "true"
⇨ 지연 로딩 방식
⇨ 모든 <bean>은 컨테이너 구동시점에 new 되지만 해당 객체를 사용하는 시점에 new 하고 싶을 때 작성한다.
➔ 사용하는 시점이란 클라이언트(Client, 브라우저, 사용자)가 호출하는 시점이다.
◎ scope = "singleton"
⇨ singleton이 디폴트이다.
⇨ 반대는 prototype이다.
➔ 해당 객체를 사용할 때마다 새로 new 하고 싶을 때 작성한다.
규칙
◎ id값은 무명의 객체를 만들때는 사용하지 않는다.
◎ id 값은 중복을 허용하지 않는다.
◎ <bean>을 통해 new 된 객체들은 Heap 메모리 영역에 저장된다.
◎ 싱글톤을 유지해준다.
⇨ <bean>에 등록된 객체들을 스프링 컨테이너가 구동될 때 한번에 Heap 메모리에 load(적재)
⇨ 이후 호출되면 요청하는 객체를 전달 : LookUp
⇨ 동일 클래스를 다른 id로 호출할 경우 두 개의 객체가 만들어져 싱글톤이 유지가 안된다.
'프레임워크 > Spring' 카테고리의 다른 글
[프레임 워크] <Spring>〈Maven〉application.xml 생성 (0) | 2024.02.28 |
---|---|
[프레임워크] <Spring>〈Maven〉스프링 프로젝트 생성 (0) | 2024.02.28 |
[프레임워크] <Spring>〈Maven〉DI (0) | 2024.02.27 |
[프레임워크] <Spring>〈Maven〉BeanFactory (0) | 2024.02.26 |
[프레임워크] <Spring>〈Maven〉기초 (0) | 2024.02.26 |