Auf Thema antworten

Also ich muss gestehen, dass ich in dem Bereich nicht der große Experte bin, aber mit meinem bisherigen Verständnis ist das nicht der Weg, der gegangen werden sollte.


So findet sich in der Doku zu https://mapstruct.org/documentation/stable/api/org/mapstruct/factory/Mappers.html



Das Problem dürfte also sein, dass jetzt nicht Spring den Mapper erzeugt (inkl. der Dependency Injecton) sondern das MapStruct Framework die entsprechende Instanz erzeugt. (Und damit findet kein Einfügen der @Autowired Elemente statt).


Eine mögliche Lösung ist aus meiner Sicht hier die Nutzung von Qualifiers: https://mapstruct.org/documentation/stable/reference/html/#selection-based-on-qualifiers


Dabei hast Du halt eine saubere Trennung der Concerns.




Die andere Alternative könnte sein, hier mit Decorators zu arbeiten um dann den Mapper per Spring @Autowired Annotation zu bekommen. Das wäre dann in der Doku hier: https://mapstruct.org/documentation/stable/reference/html/#decorators-with-spring



Ich habe jetzt auch noch etwas geschaut ob ich etwas finde, wo man das evtl. etwas als ein Beispiel erkennen kann und bin dann über

[URL unfurl="true"]https://stackoverflow.com/questions/38807415/mapstruct-how-can-i-inject-a-spring-dependency-in-the-generated-mapper-class[/URL]

gestolpert. Da sind beide Wege auch erwähnt in den Lösungen mit etwas Code.


Ich hoffe, dass Dir das etwas helfen konnte. Mehr kann ich leider im Augenblick nicht beitragen.



Oben