먼저 org.springframework.beans.factory.BeanFactory가 책임지는 것은 무엇들이 있는지 살펴 보겠습니다.

BeanFactoryAPI를 살펴보겠습니다. 일반적으로BeanFactory XML 같은configuration data 안에 저장된 Bean에 대한 정의들을 읽어 들이고, org.springframwork.beans 패키지를 사용하여 Bean을설정합니다.

BeanFactory 인터페이스가 가지고 있는 필드 입니다.

Field Summary

static String

FACTORY_BEAN_PREFIX
         Used to dereference a FactoryBean and distinguish it from beans created by the FactoryBean.

BeanFactory 인터페이스 안에 들어있는 메소드들은 다음과 같습니다.

Method Summary

boolean

containsBean(String name)
         Does this bean factory contain a bean definition with the given name?

String[]

getAliases(String name)
         Return the aliases for the given bean name, if defined.

Object

getBean(String name)
         Return an instance, which may be shared or independent, of the given bean name.

Object

getBean(String name, Class requiredType)
         Return an instance (possibly shared or independent) of the given bean name.

Class

getType(String name)
         Determine the type of the bean with the given name.

boolean

isSingleton(String name)
         Is this bean a singleton?

메소드들은 대강 어떤 일을 책임을 지고 있는지 알겠는데 맨 위에 있는 필드 하나가 잘 모르겠네요.

org.springframework.beans.factory.BeanFactory
public static final String FACTORY_BEAN_PREFIX "&"

Used to dereference a FactoryBean and distinguish it from beans created by the FactoryBean. For example, if the bean named myEjb is a FactoryBean, getting &myEjb will return the factory, not the instance returned by the factory.

dereference라는 단어는 처음보네요 ^^;; reference는 수도없이 봐왔는데. FactoryBean과 FactoryBean에 의해 생성된 bean을 구분하기 위해 사용한다고 하는군요. 예를 든 것을 보면 빈 이름이 myEjb이면 FactoryBean이고 &myEjb는 factory에 의해 반환되는 객체가 아니라 factory를 반환한다.

지쟈스... 무슨 말인지... Someboby PLZ HELP~