Putting Jaxb2Marshaller into Spring MVC

I am trying to convert static xml to POJO (unmarshalling) in my controller class. I am using Jaxb2Marshaller and I am setting up the following method in the root context

<oxm:jaxb2-marshaller id="marshaller">
    <oxm:class-to-be-bound name="org.springframework.ws.samples.airline.schema.Airport"/>        
</oxm:jaxb2-marshaller>

I am trying to introduce a marshaller using autowiring. But it throws no bean exception exceptions .

@AutoWired
private Unmarshaller marshaller;

How to enter a marshaller into the controller. Any other methods or error indication in my code would be helpful?

+4
source share
2 answers

Spring context configuration

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:automation="http://www.springframework.org/schema/automation"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:oxm="http://www.springframework.org/schema/oxm"
        xmlns:task="http://www.springframework.org/schema/task"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
                            http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/util 
                            http://www.springframework.org/schema/util/spring-util.xsd
                            http://www.springframework.org/schema/context 
                            http://www.springframework.org/schema/context/spring-context.xsd
                            http://www.springframework.org/schema/automation
                            http://www.springframework.org/schema/automation/automation.xsd
                            http://www.springframework.org/schema/task 
                            http://www.springframework.org/schema/task/spring-task.xsd
                            http://www.springframework.org/schema/oxm
                            http://www.springframework.org/schema/oxm/spring-oxm.xsd">

        <context:annotation-config/>

        <oxm:jaxb2-marshaller id="jaxb2Marshaller">
            <oxm:class-to-be-bound name="your.package.Prova" />
        </oxm:jaxb2-marshaller>

    </beans>

Class

@AutoWired
private org.springframework.oxm.Unmarshaller jaxb2Marshaller;
+1
source

, , , , , , , .

, :

- :

  • jaxb2
  • .
  • ( )

. JAXB2 Marshaller .

, :


, , : JAXB2 Marshaller Controller beans (-), bean marshaller bean.

, , , bean. , bean ( marshaller bean , ). , bean , ( bean)

xml, component-scan. component-scan , @Controller . bean .

, : ( )

xml:

<context:component-scan base-package="com.foo">
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

xml:

<context:component-scan base-package="com.foo" use-default-filters="false">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
+2

All Articles