본문 바로가기

프레임워크/Spring

[프레임워크] <Spring>〈Maven〉xml

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로 호출할 경우 두 개의 객체가 만들어져 싱글톤이 유지가 안된다.