전통문화대전망 - 전통 명절 - 봄의공장콩

봄의공장콩

일반적인 상황에서 Spring은 bean의 클래스 속성을 사용하여 리플렉션 메커니즘을 통해 bean을 인스턴스화하는 구현 클래스를 지정합니다. 어떤 경우에는 Bean을 인스턴스화하는 과정이 복잡하지 않을 수 있습니다. 기존 방법을 따르면 에 많은 양의 구성 정보를 제공해야 하며 이 경우 구성의 유연성이 제한될 수 있습니다. 간단한 방법을 얻으십시오. Spring은 org.springframework.bean.FactoryBean의 팩토리 인터페이스를 제공합니다. 사용자는 이 인터페이스를 구현하여 인스턴스화된 Bean을 사용자 정의할 수 있습니다.

FactoryBean 인터페이스는 Spring 프레임워크에서 중요한 위치를 차지합니다. Spring 자체는 특히 많은 수의 FactoryBean 구현을 제공합니다. 이는 복잡한 Bean 인스턴스화의 세부사항을 숨기고 상위 계층 애플리케이션에 편의성을 제공합니다. FactoryBean의 소스 코드는 다음과 같습니다.

이 인터페이스에는 세 가지 메소드가 정의되어 있습니다.

구성 파일에 있는 의 클래스 속성 구성이 FactoryBean을 구현하는 경우 getBean( ) 이 메서드는 FactoryBean 자체가 아니라 FactoryBean의 getObject() 메서드에서 반환된 객체를 반환합니다.

예를 들어 아래의 Student 을 기존 방식으로 구성하는 경우 Student의 각 속성은 요소 태그에 해당합니다.

FactoryBean을 사용하면 다음 쉼표 구분 기호를 통해 Student의 모든 속성에 대한 구성 값을 한 번에 지정할 수 있어 더욱 유연해집니다.

이 StudentFactoryBean을 사용하면 됩니다. 그런 다음 다음 방법을 사용하여 구성 파일에서 StudentBean을 구성할 수 있습니다.

getBean("student")이 호출되면 Spring은 리플렉션 메커니즘을 통해 StudentFactoryBean#getObject() 메서드의 반환을 발견합니다. StudentFactoryBean의 인스턴스를 얻으려면 getBean(beanName) 메소드를 사용할 때 beanName 앞에 "&" 접두사를 추가해야 합니다(예: getBean("&student") ).