2016-11-22 5 views
0

Ich versuche, in einem Jaxbmarshaler in meiner Spring-Boot-App zu verwenden. Es scheint den Marshaller nicht zu akzeptieren. Die unten ist, was ich zur Zeit haben, jede Tipson, was ichjaxbmarshaller Spring Boot konnte Bean nicht finden?

Maven Abhängigkeit bin fehlt:

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-oxm</artifactId> 
</dependency> 

--- code 

@Component 

    public class DoSomethingService { 

     @Autowired 
     private Jaxb2Marshaller marshaller; 
     marshaller.marshal(MyObject,Stringwriter) 

Der Fehler, den ich es nicht die Bohne für Jaxb2Marsaller bekommen sagt finden konnte, irgendwelche Ideen ??

Antwort

0

Um Auto-Wire zu verwenden, müssen Sie zuerst eine Marshaller-Bean erstellen und die erforderliche Klasse/Paket auf Marshall verweisen. Dann können Sie es injizieren.

0

Sie müssen über eine oder mehrere Konfigurationsklassen verfügen, in denen alle Beans definiert werden, die für das Autowiren verfügbar sein sollen. Sein ähnliches die Bohne im Frühjahr Application xml

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"/> 

in Java Config definieren:

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.oxm.jaxb.Jaxb2Marshaller; 

@Configuration 
public class SomeName{ 
@Bean 
    public Jaxb2Marshaller marshaller() { 
     Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); 
     //any setters 
     return marshaller; 
    } 
} 
+0

Dank Hinzufügen dieser in und es wird jetzt arbeiten. zusätzlich musste ich die Pakete hinzufügen, die ich scannen wollte, und es funktionierte marshaller.setPackagesToScan ("package"); – qwertyqwerty

Verwandte Themen