'reflection'에 해당되는 글 1건

  1. 2008/05/26 스프링(Spring)으로 스태틱(static) 멤버 변수를 설정해 보아요.
2008/05/26 09:49

스프링(Spring)으로 스태틱(static) 멤버 변수를 설정해 보아요.

다음과 같은 자바 클래스가 있어요.

생성자가 private을 잘 봐주세요.

package net.kjunine.blog.common.util ;

import net.kjunine.blog.biz.BlogIF ;

public class ServiceLocator {

	private static BlogIF blog ;

	private ServiceLocator() {
	}

	public static BlogIF service() {
		return blog ;
	}

	public BlogIF getBlog() {
		return blog ;
	}

	public void setBlog(BlogIF blog) {
		ServiceLocator.blog = blog ;
	}

}


스프링 설정 파일에는 다음과 같이 작성해요.

<bean id="serviceLocator" class="net.kjunine.blog.common.util.ServiceLocator">
	<property name="blog" ref="blog" />
</bean>


신기하게도 스프링은 생성자가 private 이더라도 Bean을 생성할 수 있어요.

어떻게? ㅋ (자바 리플렉션으로 이렇게까지 할 수 있는 걸까요?)

...

아무튼 이런 곳에서 스프링의 위력이 드러나는군요..

환경:
    Spring 1.x, 2.0, 2.5 (사실 2.5에서는 테스트해보지 않았음.)

Trackback 0 Comment 0