이 기사를 통해 예제 코드를 통해 봄에 콩을 인스턴스화하는 몇 가지 방법을 소개하겠습니다. 특정 콘텐츠를 살펴 보겠습니다.
1. 클래스 생성자를 사용하여 인스턴스화를 구현하십시오 (Bean의 자체 생성자)
<bean id = "Orderservice"/>
2. 정적 공장 방법을 사용하여 인스턴스화를 달성하십시오
<bean id = "personservice"class = "cn.itcast.orderfactory"factory-method = "createorder"/> public class orderfactory {private static orderfactory orderfactory = new OrderFactory (); 개인 OrderFactory (); public static orderfactory createOrder () {return OrderFactory; }}3. 인스턴스화 공장 방법을 사용하여 인스턴스화를 달성하십시오 (다른 엔터티의 콩을 통해)
<bean id = "personserviceFactory"class = "cn.itcast.service.service.service"/> <bean id = "Persionservice"factory-bean = "personservicefactory"wito-method = "createorder"/> public ordervice ordervice = new Orderservice (); 개인 OrderFactory (); public static Orderservice createorderservicebean {return Orderservice; }}우리는 일반적으로 Beans 스프링 컨테이너 로딩을 담당하는 BeanFactory 또는 ApplicationContext를 호출합니다. 둘 다 XML 구성 파일을 통해 Bean을로드합니다. ApplicationContext 및 Beanfacotry와 비교할 때 주된 차이점은 Beanfacotry가 게으른 하중이며 GetBean ()이 호출 될 때 인스턴스화 될 콩을 인스턴스화한다는 것입니다. 콩의 특정 속성을 주입 할 수없는 경우 현재 예외가 발생합니다. 그리고 Lazy-Init = "True"가 Bean에 설정되지 않는 한 ApplicationContext는 모든 Bean을 초기화 할 때 모든 Bean을 인스턴스화하는 데 기본적으로 의존성 속성을 주입 할 수 있는지 확인하는 데 도움이됩니다.
또한 ApplicationContext는로드 할 리소스 파일의 국제 처리 및 BeanPostProcessor의 처리와 같은 더 많은 확장 기능을 제공합니다. 따라서 J2EE 응용 프로그램에서는 일반적으로 ApplicationContext를 사용하도록 선택합니다. BeanFactory 또는 ApplicationContext를 사용하든 Spring은 기본적으로 싱글 톤에서 Bean을 초기화합니다.
BeanFactory의 초기화를 위해 다음 코드가 일반적으로 사용됩니다.
ClassPathResource Resource = New ClassPathResource ( "beans.xml"); beanfactory factory = new xmlbeanFactory (Resource);
ApplicationContext의 초기화를 위해 일반적으로 web.xml에서 구성됩니다.
<CENTEXT-PARAM> <Param-Name> ContextConfigLocation </param-name> <param- value> classpath : conf/appcontext.xml </param-value> </context-param> <Leater-class> org.springframwork.web.context.contextloderListener </lurtener class>
요약
위의 내용은 스프링 인스턴스테이션 코드에 대한 자세한 설명입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!