Im Allgemeinen konfigurieren wir die Transaktionsverwaltung für Service Layer Code in der Konfigurationsdateianwendung von Spring.xml. Wir können eine Verbesserung der Servicemethoden oder der Transaktionsverarbeitung wie der Transaktionsrollback durchführen. Wenn wir jedoch auf ein Problem stoßen, ist das konfigurierte Transaktionsmanagement ungültig. Wenn wir relevante Informationen abfragen und den Grund finden. Tatsächlich sind Frühlings- und SpringMVC Eltern-Kind-Beziehungen, Frühling sind Elternbehälter und SpringMVC sind Kindercontainer. Mit anderen Worten, die application.xml sollte für das Scannen der Anmerkungen von @Controller wie @Service verantwortlich sein, während die SpringMVC -Konfigurationsdatei nur für das Scannen des @Controller verantwortlich sein sollte, da wiederholte Scans die im Federcontainer konfigurierten Transaktionen ungültig sind.
Daher sollte die korrekte Konfigurationsmethode sein:
Federkonfigurationsdatei: application.xml
<Kontext: Komponent-scan-Basis-Package = "org.bc.redis" use-Default-filters = "true"> <!-Klassen mit @Controller Annotation ausschließen-> <context: exklude-filter type = "Annotation" Expression = "org.bc.redis.controller
oder
<!-Geben Sie das gescannte Paket an und vermeiden Sie Pakete, die @Controller Annotation enthalten-> <Kontext: Komponenten-scan-Basis-Package = "org.bc.redis.Service" Gebrauchsdefault-filters = "true"> </context: component-scan>
SPRINGMVC -Konfigurationsdatei: SpringMvc.xml
<!-Scannen Sie nur Pakete mit @Controller-Annotation, um wiederholte Scans zu vermeiden-> <Kontext: Komponenten-scan-Basis-Package = "org.bc.redis.controller" usedefault-filters = "true"> </context: component-scan>
endlich
Nach dem Testen ist das Hauptproblem, dass die Konfigurationsdatei von SpringMVC das Paketumfang scannt. Selbst wenn die Konfigurationsdatei von Spring die @Controller -Annotation scannt, wird sie im SpringMVC einmal neu gestaltet. Solange der Transaktionsverwaltungsdienst nicht neu gestaltet ist, wird es kein Problem mit Transaktionsfehlern geben.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels zu den Gründen und Lösungen für die ungültige Transaktionsmanagement der Spring+SpringMVC -Konfiguration. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!