Heim > Java > javaLernprogramm > Hauptteil

Lösung des Problems, dass Transaktionen nicht vom Spring-Container verwaltet werden können

不言
Freigeben: 2018-10-10 11:37:50
nach vorne
1984 Leute haben es durchsucht

In diesem Artikel geht es um die Lösung des Problems, dass Transaktionen nicht mit Federcontainern verwaltet werden können. Ich hoffe, dass er für Sie hilfreich ist.

Ich arbeite kürzlich an einem kleinen Projekt, dem SpringMVC-Mybatis-Framework. Jedes Mal, wenn im Konsolenprotokoll vorhanden ist, wird die JDBC-Verbindung [com.mysql.jdbc.JDBC4Connection@59dfe4bc] nicht von der Spring-Ausgabe verwaltet

Es zeigt, dass es ein Problem mit der Transaktionskonfiguration geben muss, also habe ich die Konfigurationsdatei durchgesehen und festgestellt, dass die annotationsbasierte Transaktion konfiguriert wurde und auch die Annotation @Transactional verwendet hat.

Also begann ich darüber nachzudenken, was schief gelaufen ist. Da ich zuvor einige Quellcodes von Spring und einige Quellcodes von SpringMVC gesehen hatte, kamen mir einige Ideen. Ich habe das Problem in der Spring-Konfigurationsdatei

und der SpringMVC-Konfigurationsdatei

Die gescannte Bean in der Spring-Konfigurationsdatei gefunden, spring fügt ihm einen Proxy mit Transaktionsfunktionen hinzu. Nachdem der SpringMVC-Container gestartet wurde, besteht eine Eltern-Kind-Beziehung zum Spring-Container. Getbean Der Prozess besteht darin, zuerst die

Bean aus dem Untercontainer abzurufen. Das Problem liegt hier. Die Beans im Springmvc-Container verfügen nicht über Transaktionsverarbeitungsfunktionen, daher habe ich einige Anpassungen an der Scanstrategie

in der Springmvc-Konfigurationsdatei vorgenommen. Fügen Sie

<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
Nach dem Login kopieren

zur Anmerkung hinzu Scannen Sie das Projekt

spring und führen Sie es aus, um die Transaktion zu verwalten.

Das obige ist der detaillierte Inhalt vonLösung des Problems, dass Transaktionen nicht vom Spring-Container verwaltet werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!