Spring Spring Converter programmatisch im Spring Boot registrieren

8

Ich möchte einen Spring Converter in einem Spring Boot-Projekt programmgesteuert registrieren. In vergangenen Frühlingsprojekten habe ich es in XML so gemacht ...

%Vor%

Ich versuche herauszufinden, wie SpringBootServletInitializer von Spring Boot funktioniert

Update: Ich habe ein paar Fortschritte gemacht, indem ich den StringToAssessmentConverter als Argument an getConversionService übergeben habe, aber jetzt bekomme ich einen Fehler "Kein Standardkonstruktor gefunden" für die StringToAssessmentConverter-Klasse. Ich bin mir nicht sicher, warum Spring den @ Autowired-Konstruktor nicht sieht.

%Vor%

Hier ist der Code für den Konverter ...

%Vor%

Vollständiger Fehler

Das Ziel konnte nicht ausgeführt werden org.springframework.boot: spring-boot-maven-plugin: 1.3.2.RELEASE: run (default-cli) auf dem Projekt yrdstick: Während der Ausführung ist eine Ausnahme eingetreten. null: InvocationTargetException: Fehler beim Erstellen von Bean mit dem Namen 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor': Aufruf der init-Methode fehlgeschlagen; Verschachtelte Ausnahme ist org.springframework.beans.factory.UnsatisfiedDependencyException: Fehler beim Erstellen von Bean mit dem Namen 'conversionService' in me.jpolete.yrdstick.Application definiert: Unzufriedene Abhängigkeit ausgedrückt durch Konstruktorargument mit Index 0 vom Typ [me.jpolete.yrdstick.websupport .StringToAssessmentConverter]:: Fehler beim Erstellen einer Bean mit dem Namen 'stringToAssessmentConverter' in der Datei [/yrdstick/target/classes/me/jpolete/yrdstick/websupport/StringToAssessmentConverter.class]: Instanziierung von Bean fehlgeschlagen; verschachtelte Ausnahme ist org.springframework.beans.BeanInstantiationException: Instanziiert [me.jpolete.yrdstick.websupport.StringToAssessmentConverter] fehlgeschlagen: Kein Standardkonstruktor gefunden; Die verschachtelte Ausnahme ist java.lang.NoSuchMethodException: me.jpolete.yrdstick.websupport.StringToAssessmentConverter. (); verschachtelte Ausnahme ist org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen von Bean mit dem Namen 'stringToAssessmentConverter' definiert in der Datei [/yrdstick/dev/yrdstick/target/classes/me/jpolete/yrdstick/websupport/StringToAssessmentConverter.class]: Instantiierung der Bean ist fehlgeschlagen; verschachtelte Ausnahme ist org.springframework.beans.BeanInstantiationException: Instanziiert [me.jpolete.yrdstick.websupport.StringToAssessmentConverter] fehlgeschlagen: Kein Standardkonstruktor gefunden; Die verschachtelte Ausnahme ist java.lang.NoSuchMethodException: me.jpolete.yrdstick.websupport.StringToAssessmentConverter. ()

    
jpolete 26.01.2016, 22:48
quelle

3 Antworten

14

Die Antwort ist, dass Sie Ihren Konverter nur als @Component :

anattieren müssen

Dies ist mein Konverterbeispiel

%Vor%

Dann, wenn Spring konvertieren muss, wird der Konverter aufgerufen.

Meine Spring Boot Version: 1.4.1

    
deFreitas 18.12.2016, 05:08
quelle
0

versuche das:

%Vor%

oder wenn Ihr StringToAssessmentConverter bereits eine Frühlingsbohne ist:

%Vor%     
MangEngkus 27.01.2016 01:41
quelle
0

Hier ist meine Lösung:

Eine TypeConverter-Anmerkung:

%Vor%

Ein Konverter-Registrar:

%Vor%

Und dann kommentieren Sie Ihre Konverter:

%Vor%     
narduk 29.06.2017 23:08
quelle