XML 설정 파일에서 <bean> 엘리먼트의 대표적인 속성 4가지를 알아보자!
1. init-method
스프링 컨테이너는 설정 파일에 등록된 클래스를 객체 생성할 때 디폴트 생성자를 호출한다
객체 생성 후, 멤버변수 초기화 작업이 필요할 때 init-method를 사용한다
<bean id="test" class="TestClass" init-method="initMethod" />
2. destroy-method
init-method와 마찬가지로 스프링 컨테이너가 객체를 제거하기 직전에 호출되는 메소드이다
<bean id="test" class="TestClass" destroy-method="destroyMethod" />
3. lazy-init
컨테이너가 구동될 때 설정 파일에 등록된 <bean>들은 생성하는 즉시 로딩(pre-loading) 방식으로 동작한다
그런데 자주 사용 되지 않는 <bean>은 메모리 낭비가 될 수 있다
이 때, 컨테이너 구동 시점이 아닌 <bean>이 사용되는 시점에 객체를 생성하도록 할 때 사용된다
<bean id="test" class="TestClass" lazy-init="true" />
4. scope
하나만 생성 되어야만 혹은 생성 돼도 문제없는 객체들이 있다
이 때, 싱글턴 패턴(singleton pattern)을 사용하는데 scope속성을 이용하여 적용할 수 있다
<bean id="test" class="TestClass" scope="singleton" />
반대로 스프링 컨테이너로부터 필요한 객체를 요청할 때마다 새로운 객체를 생성할 때는 prototype을 사용한다
<bean id="test" class="TestClass" scope="prototype" />
'IT TIPS > Spring' 카테고리의 다른 글
[Spring] error at ::0 can't find referenced pointcut allPointcut 해결방법 (0) | 2017.08.12 |
---|---|
[Spring] pom.xml에서 Missing Artifact 해결방법 (1) | 2017.08.09 |
[Spring] NoSuchBeanDefinitionException 해결방법 (0) | 2017.08.08 |
[Spring] XML 설정 파일 만들기 (0) | 2017.08.01 |
[Spring] pom.xml에서 invalid loc header (bad signature) 해결방법 (0) | 2017.07.30 |