Ich bin ziemlich neu in der Frühlingswelt. Ich habe ein DAO mit Spring 3.2 und Hibernate 4.1.9 entwickelt, aber ich habe eine seltsame Sache bemerkt.
Alle verwendeten Abhängigkeiten, die sich auf Spring beziehen, gehören zur Version 3.2.1, mit Ausnahme des Moduls spring-aop . Für dieses Modul muss ich die Version 3.2.0 verwenden, da ich diesen Import nicht finde, wenn ich 3.2.1 in der Dao-Klasse-Implementierung verwende: org.springframework.transaction.annotation.Transactional
Dies ist meine ursprüngliche Datei pom.xml (die gut funktioniert):
%Vor%und das ist meine Klasse PersonDAOImpl (die Klasse, die mein konkretes DAO implementiert):
%Vor%Das Problem ist, dass wenn ich die Version 3.2.1 für das Modul spring-aop anstelle von 3.2.0 verwende, um dies zu ändern Abhängigkeit auf diese Weise:
%Vor%Wenn ich Maven laufe --- & gt; Maven Install passiert die Kompilierung fehlgeschlagen und gibt die folgende Fehlermeldung zurück:
%Vor%Und im PersonDAOImpl passiert, dass die folgende importierte Klasse nicht gefunden wird:
%Vor%Warum habe ich dieses Problem, wenn ich versuche, die Version 3.2.1 des Spring-Orm-Moduls zu verwenden? Wie kann ich es lösen, um es zu benutzen?
Das Paket org.springframework.transaction
wird vom Artefakt spring-tx
bereitgestellt. Fügen Sie Ihrer pom.xml Folgendes hinzu und führen Sie maven update durch:
Verwenden Sie alle federabhängigen Abhängigkeiten derselben Version. Ich denke, org.springframework.transaction.annotation.Transactional ist im Frühjahr 3.2.0 vorhanden. Das sollte also kein Problem sein. Enthalten Sie die Spring-TX-Abhängigkeit, damit @Transactionl funktioniert.
Die @Transactional
Annotation befindet sich im Spring-TX-Modul. Fügen Sie Version 3.2.1 hinzu und stellen Sie sicher, dass Sie immer die gleiche Version aller Spring-Module verwenden.
Tags und Links java hibernate spring spring-mvc