Spring MVC REST: было выбрано org.springframework.beans.factory.BeanCreationException

Я хочу использовать Spring 3.0 MVC для разработки REST... Я тестирую очень простой код, но было выбрано исключение org.springframework.beans.factory.BeanCreationException, вот мой код:

@Controller
public class RestTest {


    @RequestMapping(method=RequestMethod.GET, value="/1", 
            headers="Accept=application/json")
    public @ResponseBody Employee getEmp(@PathVariable String id) {
    Employee e = new Employee("helloWorld","stip of world");
    return e;
    }


}

beans-xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
   <property name="messageConverters">
       <list>
           <ref bean="jsonConverter" />

       </list>
   </property>
</bean>

<bean id="jsonConverter" 
            class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
   <property name="supportedMediaTypes" value="application/json" />
</bean>
<context:component-scan base-package="org.stip.rest"></context:component-scan>
</beans>

исключение:

org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0», определенным в ресурсе ServletContext [/WEB-INF/spring-servlet.xml]: невозможно разрешить ссылку на bean-компонент «jsonConverter» при установке свойства bean-компонента «messageConverters» с ключом [0]; вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «jsonConverter», определенным в ресурсе ServletContext [/WEB-INF/spring-servlet.xml]: создание экземпляра bean-компонента не удалось; вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр класса bean [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter]: конструктор выдал исключение; вложенным исключением является java.lang.NoSuchMethodError: org.codehaus.jackson.type.JavaType.isFullyTyped()Z

jackson-core.jar и jackson-mapper были добавлены в путь сборки... я изо всех сил стараюсь исправить... но... Можете ли вы мне помочь... Спасибо


person user996505    schedule 25.12.2011    source источник
comment
какую версию jackson вы используете? Вы проверяли ее совместимость с Spring 3?   -  person Aravind A    schedule 25.12.2011
comment
@AravindA 1.90 .. я не проверял совместимость ... какая версия предпочтительнее?   -  person user996505    schedule 25.12.2011
comment
Пожалуйста, добавьте версию используемых вами библиотек. Вы должны просто добавить правильные библиотеки Джексона в путь к классам, и он должен работать. Проверьте spring pom, чтобы получить версию, используемую spring.   -  person Kevin Bayes    schedule 21.10.2013


Ответы (2)


Вам не нужен преобразователь регистров, если вы добавите библиотеку jackson в свой путь к классам, Spring вернет json клиенту для каждого метода аннотированного контроллера @ResponseBody.

person ayengin    schedule 25.12.2011

Также обязательно проверьте:

"http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"

перечислены в схемах в верхней части вашего applicationContext-web.xml в теге schemaLocation.

person Kiran    schedule 03.09.2013