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

Detaillierte Erklärung der Spring-Automatic Assembly und Annotationen-Scanning-Code

1 Automatische Assembly von javabean

Automatische Injektion, um die Konfigurationsinformationen der XML-Datei zu reduzieren.

<?xml version="1.0" encoding="UTF-8"?>
<!-- Einfügen der XML-Datei-Bindung -->
<beans xmlns="http://www.springframework.org/schema/beans
  xmlns:p="http://www.springframework.org/schema/p" 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-4.1.xsd">
  <!-- 1 Instanziierung von Dao-Objekt id: Referenz des Objekts durchführen class: Die vollständige Namensanzeige der Klasse, die das zu erstellende Objekt entspricht, angeben -->
  <bean id="usersDao" class="org.guangsoft.dao.impl.UsersDaoImpl">
  </bean>
  <!-- 2Instanziierung von service autowire: Die Funktion der Eigenschaft, die automatische Assembly von Abhängigkeiten zwischen Objekten durchführt, no (Standardausführung) byName: Verwenden Sie den Namen der Methode, die der zu injizierenden Eigenschaft entspricht, und die ID des Objekts im Spring-Container, um abzustimmen. Wenn eine Übereinstimmung besteht, wird eine automatische Injektion durchgeführt 
    byType: Passt die Typen der Methodenparameter der zu injizierenden Eigenschaften und der Typen der Objekte im Spring-Container zusammen, kann eine Übereinstimmung erreicht werden, wird automatisch injiziert constructor: Wählen Sie zwischen byName und byType (zuerst byName, wenn byName nicht übereinstimmt, dann byType)} 
    Actual usage: byName -->
  <bean id="usersService" class="org.guangsoft.service.impl.UsersServiceImpl"
    autowire="byType">
  </bean>
  <!-- 3Instanziieren Sie das Action-Objekt -->
  <bean id="usersAction" class="org.guangsoft.action.UsersAction"
    autowire="byType">
  </bean>
</beans>

2 Annotationsscan von Spring

Verwenden Sie die Annotationsscan von Spring, um die dreischichtige Struktur zu refactoring. Konfigurieren Sie weniger Inhalte

Importieren Sie das zu scannende xsd in die applicationContext.xml-Datei

l Aktivieren Sie die Annotationsscan

<?xml version="1.0" encoding="UTF-8"?>
<!-- Einfügen der XML-Datei-Bindung -->
<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-instance"
  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
   ">
  <!-- Aktivieren Sie die Annotationsscan base-Package-Eigenschaft: Bestimmt die zu scannenden Pakete, mehrere Pakete werden durch Kommas getrennt a.b.c a.b.d a.b.e -->
  <context:component-scan
    base-package="org.guangsoft.dao.impl,
    org.guangsoft.service.impl,org.guangsoft.action"></context:component-scan>
</beans>

Zusammenfassung der Annotationen

Klassennotation:

@controller(Annotation für die Web-Schicht)

@service(Annotation für die Service-Schicht)

@repository(Annotation für die DAO-Schicht)

@component(Annotation für Java-Klassen, in alten Versionen von Spring nur diese Annotation)

Diese drei Annotationen: Nehmen Sie die entsprechenden Klassen in den Spring-Container auf

Id: Der erste Buchstabe des Klassennamens wird kleingeschrieben (Standard)

Wenn eine eigene ID angegeben werden muss, müssen die drei Annotationen den Parameter der String-Klasse hinzufügen

@controller(“uAction”)id=uAction

@resouce(Annotation, die an den Objektabhängigkeitsattributen hinzugefügt wird)

Durch die automatische Konfiguration wird die Injektion der benötigten Abhängigkeitsattribute abgeschlossen.

Parameter: name: Automatische Konfiguration nach byName

Parameter: type: Automatische Konfiguration nach byType

Durchführungsprozess der Annotation

1,Laden des Spring-Containers

2,Scannen des angegebenen Pakets im Spring-Container

3,Scannen der angegebenen Pakete, die drei Klassennotationen hinzugefügt haben, und die Klasse in den Spring-Container aufnehmen

4,<beanid=""class="">

5,Scannen der Attribute, die mit der @resource-Annotation in der gescannten Klasse hinzugefügt wurden, und dann die Beziehung durch die automatische Konfiguration zu erstellen

6,Autowrie

Zusammenfassung

Das sind alle Inhalte dieses Artikels über die Automatische Konfiguration und die Scanning-Annotationen von Spring. Hoffentlich ist es hilfreich. Interessierte Freunde können weiterhin die Website lesen:

Detaillierte Erklärung der Komponentenscanning durch Annotationen

Lösung für das Problem der Konfiguration mehrerer Pakete in Spring

Falls es Mängel gibt, freuen wir uns über Ihre Kommentare. Vielen Dank für die Unterstützung unserer Freunde!

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrechtsinhaber. Der Inhalt wurde von Internetnutzern freiwillig bereitgestellt und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht von Hand bearbeitet. Diese Website übernimmt keine Haftung für rechtliche Verpflichtungen. Wenn Sie Inhalte finden, die möglicherweise urheberrechtlich geschützt sind, freuen wir uns über eine E-Mail an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @, wenn Sie eine Meldung senden, und geben Sie relevante Beweise an. Sobald überprüft, wird dieser Inhalt sofort gelöscht, der als urheberrechtlich verletzt angesehen wird.)

Möglicherweise gefällt Ihnen auch