A través de este artículo, le presentaré varios métodos para instanciar los frijoles en la primavera a través del código de ejemplo. Echemos un vistazo al contenido específico.
1. Use el constructor de clases para implementar la instanciación (el propio constructor de Bean)
<bean id = "OrderService"/>
2. Utilice métodos de fábrica estática para lograr la instancia
<bean id = "Personservice" class = "cn.itcast.orderFactory" factory-method = "createOrder"/> public class OrderFactory {private Static OrderFactory OrderFactory = new OrderFactory (); Orden de orden privado (); public static OrderFactory createOrder () {return OrderFactory; }}3. Use el método de fábrica de instanciación para lograr la instanciación (a través de frijoles de otras entidades)
<bean id = "PersonserviceFactory" class = "cn.itcast.service.orderFactory"/> <bean id = "persesoService" fábrica-bean = "PersonserviceFactory" material-method = "createOrder"/> public class OrderFactory {OrderService de servicio de servicio estático privado = new OrderService ();; Orden de orden privado (); Public Static OrderService createorderServiceBean {return OrderService; }}Por lo general, llamamos a BeanFactory o ApplicationContext responsable de cargar el contenedor de resorte de frijoles. Ambos están cargados con frijoles a través del archivo de configuración XML. En comparación con ApplicationContext y BeanFacotry, la principal diferencia es que BeanFacotry es una carga perezosa, y se instancia el bean a ser instanciado cuando se llama a GettingBean (). Si no se puede inyectar un cierto atributo del bean, se lanzará una excepción en este momento; y AplicationContext predeterminado es instanciar todos los frijoles al inicializarse a sí mismo, a menos que lazy-Init = "verdadero" se establece en el bean, que es propicio para verificar si se puede inyectar el atributo de dependencia.
Además, ApplicationContext proporciona más funciones de extensión, como el procesamiento internacional de archivos de recursos que se cargarán y el procesamiento de BeanPostProcessor. Por lo tanto, en las aplicaciones J2EE, generalmente elegimos usar ApplicationContext. Ya sea que use BeanFactory o ApplicationContext, Spring inicializa los frijoles en Singleton de forma predeterminada.
Para la inicialización de BeanFactory, generalmente se usa el siguiente código:
ClassPathResource recurso = new ClassPathResource ("Beans.xml"); BeanFactory Factory = new XMLBeanFactory (recurso);Para la inicialización de ApplicationContext, generalmente se configura en Web.xml:
<cuette-param> <amamname> contextConfigLocation </amamname> <amam-value> classpath: conf/appContext.xml </param-value> </context-param> <searcher> <search-class> org.springframework.web.context.contextoteerlistener </sidance-class> </oyechers>
Resumir
Lo anterior es toda la explicación detallada del código de frijoles de instanciación de primavera. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!