¿Cuáles son los beneficios de los archivos de primavera multi-configuración?
La división de archivos de configuración de acuerdo con el propósito y la función puede mejorar la legibilidad y el mantenimiento de los archivos de configuración, como configuraciones separadas con pocos cambios, como la administración de transacciones de configuración y las fuentes de datos y los frijoles de configuración.
Varias formas en que Spring lee archivos de configuración:
1. Leer utilizando el método ApplicationContext proporcionado por Spring mismo
En los programas Java, puede usar ApplicationContext Dos clases de implementación ClassPathXMLApPlicationContext y Files SystemXMLApPlicationContext para leer múltiples archivos de configuración, y sus constructores pueden recibir una variedad de archivos de configuración.
Por ejemplo: ApplicationContext CTX = new ClassPathXMLApPlicationContext (configLocations); Es similar a la forma de crear aplicaciones de Context Usando Files SystemXMLApPlicationContext, la única diferencia es que las rutas de los dos archivos de configuración de búsqueda son diferentes: classpathxmlaPlaPlicationContext busca archivos de configuración a través de los archivos de configuración de classpath: filessystemxmlaPlasplicationContext en busca de archivos de configuración en la ruta actual.
Método 1: Guardar el objeto ApplicationContext durante la inicialización
Código:
ApplicationContext AC = New FilesystemXMLApPlicationContext ("ApplicationContext.xml"); ac.getBean ("BeanId"); ilustrar:
Este método es adecuado para aplicaciones independientes que utilizan el marco Spring, donde los programas requieren que Spring se inicialice manualmente a través de archivos de configuración.
Método 2: Obtenga el objeto ApplicationContext a través de la clase de herramienta proporcionada por Spring
Código:
importar org.springframework.web.context.support.webapplicationContextUtils; ApplicationContext AC1 = WebApplicationContextUtiliS.GetRequiredWebApplicationContext (ServletContext SC) ApplicationContext ac2 = WebApplicationContextutilils.getWebApplicationContext (ServletContext SC) AC1.getBean ("Beanid"); ac2.getbean ("beanid"); ilustrar:
Este método es adecuado para los sistemas B/S utilizando Spring Framework, obteniendo el objeto ApplicationContext a través del objeto ServletContext y luego obteniendo la instancia de clase requerida a través de él.
La diferencia entre los dos métodos de herramienta anteriores es que el primero arroja una excepción cuando la adquisición falla, y el segundo regresa nulo.
Método 3: Heredado de la clase abstracta ApplicationObjectSupport
ilustrar:
La clase abstracta ApplicationObjectSupport proporciona el método GetApplicationContext (), que puede obtener fácilmente la aplicación. Cuando se inicializa Spring, el objeto ApplicationContext se inyectará a través del método SetApplicationContext (ApplicationContext Context) de la clase abstracta.
Método 4: Heredado de la clase abstracta WebApplicationObjectSupport
ilustrar:
Similar al método anterior, llame a getWebApplicationContext () para obtener WebApplicationContext
Método 5: Implemente la interfaz ApplicationContextAware
ilustrar:
Implemente el método SetApplicationContext (ApplicationContext Context) de esta interfaz y guarde el objeto ApplicationContext. Cuando se inicializa la primavera, el objeto ApplicationContext se inyecta a través de este método.
Los métodos anteriores son adecuados para diferentes situaciones, elija el método correspondiente de acuerdo con la situación específica.
2. Carga al usar el inicio del proyecto web
Qué archivos de configuración se cargan automáticamente en Web.xml:
<cuette-param> <amamname> contextConfigLocation </amamname> <amam-value> /web-inf/spring/spring-core.xml </param-value> </context-param> <Servlet> <Servlet-name> springmvc </servlet-name> <Servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <itel-param> <amamname-Name> contextConfigLocation </amamname> <amarr-value>/web- Inf/Spring/Spring-Servlet.xml </param-value> </it-param> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <ervlet-name> springmvc </servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
Cuando hay múltiples números, puede usar * para reemplazarlos.
<Servlet> <Servlet-name> App </servlet-name> <ervlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <text-param> <amamname> contextCiglocation </param-name> <Param-Value> /webinf/ApplicationContext*.xml,/webinf/user_spring.xml </param-value> </context-param> <load-on-startup> 1 </load-on-startup> </servlet>
3. Importar otros archivos de configuración en el archivo de configuración XML
Configure el servicio de aplicación para cargar en /web-inf/applicationContext.xml. Puede usar Importar para importar otros archivos de configuración en ApplicationContext.xml.
<? xml versión = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: context = "http://www.springframework.org/schema/context" " xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/Beans/spring-Beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframwork.org/schema/context/spring-context-3. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/aop http://www.springfframeWork Resource = "Spring-Servlet.xml"/> <importación de importación = "Spring-Security.xml"/> <Import Resource = "Spring-Hibernate.xml"/> <import Nesource = "Spring -edis.xml"/> <importe Resource = "Spring-Redis.xml"/> <óss>