English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Análisis detallado de la configuración automática de Spring y la escaneo de anotaciones

1 Autowiring de javabean

Inyección automática, reducir la información de configuración del archivo xml.

<?versión xml="1.0" encoding="UTF-8"?>
<!-- importar las restricciones del archivo xml -->
<beans xmlns="http://www.springframework.org/schema/beans
  xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instancia
  xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
  <!-- 1 Instanciación del objeto Dao id: completar la referencia del objeto class: especificar el nombre completo de la clase correspondiente al objeto que se debe crear -->
  <bean id="usersDao" class="org.guangsoft.dao.impl.UsersDaoImpl">
  </bean>
  <!-- 2Instanciación de service autowire: el papel de las propiedades, completar la conexión automática entre dependencias de objetos no (por defecto ejecutar) byName: usar el nombre del método set correspondiente a la propiedad que se debe inyectar y el id del objeto en el contenedor de spring para hacer coincidir, si puede coincidir, se realiza la inyección automática 
    byType: Utiliza el tipo de parámetro del método set correspondiente a las propiedades que necesitan inyección y el tipo de objeto en el contenedor de spring para hacer coincidir. Si coinciden, se realiza la inyección automática constructor: Se elige entre byName y byType (primero byName, si byName no coincide, luego byType) 
    Uso real: byName -->
  <bean id="usersService" class="org.guangsoft.service.impl.UsersServiceImpl"
    autowire="byType">
  </bean>
  <!-- 3Instanciar el objeto Action -->
  <bean id="usersAction" class="org.guangsoft.action.UsersAction"
    autowire="byType">
  </bean>
</beans>

2 Anotaciones de escaneo de spring

Reestructurar la三层结构 usando anotaciones de escaneo de spring. Configuración más sencilla

Importar xsd en el archivo applicationContext.xml

l Habilitar el escaneo de anotaciones

<?versión xml="1.0" encoding="UTF-8"?>
<!-- importar las restricciones del archivo xml -->
<beans xmlns="http://www.springframework.org/schema/beans
  xmlns:context="http://www.springframework.org/schema/context" [ A1 ]
  xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instancia
  xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-4.1.xsd
   ">
  <!-- Habilitar el escaneo de anotaciones base-Atributo package: especifica los paquetes que se deben escanear, separados por comas; por ejemplo, a.b.c a.b.d a.b.e -->
  <context:component-scan
    base-paquete="org.guangsoft.dao.impl,
    org.guangsoft.service.impl,org.guangsoft.action"></context:component-scan>
</beans>

Resumen de anotaciones

Anotaciones de clase:

@controller(ánota la capa web)

@service(ánota la capa de servicio)

@repository(ánota la capa de dao)

@component(ánota la clase java, en la versión anterior de Spring solo había una anotación)

Las tres anotaciones anteriores: agregarán las clases correspondientes al contenedor de Spring correspondiente

Id: la primera letra del nombre de la clase en minúscula (por defecto)

Si es necesario especificar manualmente el id, debe agregar el parámetro de tipo String a las tres anotaciones

@controller(“uAction”)id=uAction

@resouce(ánota a la propiedad del objeto que necesita dependencias)

A través del ensamblaje automático, se inyectan propiedades dependientes necesarias.

Parámetros: name: ensamblaje automático según byName

Parámetros: type: ensamblaje automático según byType

Proceso de anotación

1,cargar el contenedor de Spring

2,escanear el paquete especificado en el contenedor de Spring

3,escanear las clases anotadas con tres anotaciones de clase en el paquete especificado y agregarlas al contenedor de Spring

4,<beanid=””class=””>

5,establecer relaciones de asociación según el método de ensamblaje automático para las propiedades anotadas con @resource en las clases de escaneo

6,Autowrie

Resumen

Este es todo el contenido detallado sobre la configuración automática y la anotación de escaneo de Spring en este artículo, espero que sea útil para todos. Los amigos interesados pueden continuar consultando nuestro sitio web:

Análisis detallado de la escaneo de componentes basado en anotaciones

Análisis del problema de configuración de escaneo de múltiples paquetes de spring

¡Bienvenidos a dejar comentarios sobre deficiencias. ¡Gracias a los amigos por su apoyo a este sitio!

Declaración: el contenido de este artículo se obtiene de la red, es propiedad del autor original, el contenido se contribuye y carga de manera autónoma por los usuarios de Internet, este sitio no posee los derechos de propiedad, no se ha procesado editorialmente y no asume la responsabilidad legal correspondiente. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @ para denunciar y proporcione evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción de derechos de autor.)

Te gustará