Ich versuche ein Versionsverwaltungssystem für meine mongodb-Dokumente mit Spring Data Mongodb zu implementieren. Ich dachte, ich würde die Mongo-Lebenszyklus-Ereignisse nutzen
Mongo Lifecycle Events im Frühjahr
Ich wollte onBeforeSave
anhören und die ursprüngliche Version des Dokuments abrufen und den Unterschied zwischen den beiden erhalten.
Das Problem, das ich habe, ist, dass ich keinen Hinweis auf mongoOperations bekommen kann. Es erstellt weiterhin eine zirkuläre Referenz. Ob ich @Autowire:
Mongo-Konfiguration:
%Vor%Listener:
%Vor%oder verwenden Sie Setter Injektion
Mongo-Konfiguration:
%Vor%Listener:
%Vor%Es macht für mich Sinn, die Versionierung des Dokuments in den Lebenszyklusereignissen zu handhaben. Ich habe eine ähnliche Sache mit PHP / Doctrine / Mongo
gemachtWie ich es mit Doctrine / PHP gemacht habe
Im Fall von Doctrine erhalte ich einen Verweis auf den Document Manager im Lebenszyklus-Callback. Irgendwelche Hinweise, wie ich das Gleiche mit Spring Data machen kann?
Ich habe versucht, einige Java-basierte Konfigurationen
Mit explizitem Parameter:
%Vor%Mit @Autowired
%Vor%Alles hat perfekt funktioniert.
Eine Option ist - Sie haben gerade vergessen,
hinzuzufügen %Vor%in Ihren xml-Konfigurationen, obwohl dies den Fehler bei der Setter-Injektion nicht erklären würde.
Vielleicht haben Sie irgendwo einen Bean-Namen überschrieben
Und viele mehr.
Wie auch immer, das Problem liegt darin, wie Sie Spring verwenden, nicht in den von Ihnen bereitgestellten Frühlingskonfigurationen, es ist in Ordnung.
Tags und Links spring mongodb spring-data spring-data-mongodb