-
init-method
스프링 컨테이너는 등록되어 있는 bean 의 객체를 생성할 때 디폴트 생성자를 호출한다.
따라서 객체를 생성한 후에 멤버변수 초기화 작업이 필요하다면 사용하는 속성이다.
1
|
<bean id="contentsId" class="url.contentsClass" init-method="initMethod"></bean>
|
*id : bean 객체를 구분하는 식별자이다. java 파일에서 id 값을 통해 해당 객체를 요청한다.
*class : 해당 class의 경로를 나타내는 요소이며 id 속성과 다르게 필수요소이다.
이처럼 <bean> 을 등록 할 때, init-method 를 지정해두면,
객체의 생성을 위해 해당 class 로 이동하고 "initMethod" 를 찾아서 초기화를 진행하게 된다.
-
destroy-method
스프링 컨테이너가 객체를 삭제하기 직전에 호출될 메소드를 지정하는 속성이다.
1
|
<bean id="contentsId" class="url.contentsClass" destroy-method="destroyMethod"></bean>
|
위와 같이 사용되며, 객체가 삭제되기 직전에 "destroyMethod" 를 찾아 실행하게 된다.
-
lazy-init
applicationContext 를 이용하여 컨테이너를 구동하면 컨테이너 구동시점에 bean 에 등록된 객체가 생성된다.
그런데 어떤 bean 은 필요에 의해서 요청에 의해서만 생성되어야 하는 경우에 사용하는 속성이다.
1
|
<bean id="contentsId" class="url.contentsClass" lazy-init="true"></bean>
|
-
scope
객체를 단 한번만 생성할지, 요청이 올때마다 생성할지를 선택 할 수 있는 속성이다.
1
2
|
<bean id="contentsId" class="url.contentsClass" scope="singleton"></bean>
<bean id="contentsId" class="url.contentsClass" scope="prototype"></bean>
|
1번의 경우는 요청이 많아도 한번의 객체만을 생성하여 메모리의 효율성을 증진시킨다
(singleton 은 생략가능하다)
2번의 경우는 요청이 들어올 때마다 새로운 객체를 생성한다.
'Web Programming > Spring' 카테고리의 다른 글
Model 1 , Model 2, MVC (0) | 2019.11.27 |
---|---|
의존성 관리 (0) | 2019.07.06 |
Spring 프레임워크 기본구조 (0) | 2019.06.22 |