Автопроводка аннотации в JAX-RS и Spring - PullRequest
2 голосов
/ 24 октября 2011

Я пытаюсь добавить поддержку REST в приложение Spring 3+ Hibernate.

Я создал поддержку REST с помощью мастера из Netbeans, над ним помещена аннотация @Autowire (не @autowired) над моим классом ресурсов. Получение аннотации @Autowire из Spring приводит к ошибке

 incompatible types
found   : org.springframework.beans.factory.annotation.Autowire
required: java.lang.annotation.Annotation

Получение @Autowire из JAX-RS должно быть только для Spring 2.5, насколько я понимаю из здесь . При включении я получаю следующую ошибку, которая, по-моему, связана с загрузкой Spring 2.5:

    SEVERE: Exception while loading the app : java.lang.IllegalStateException: 
ContainerBase.addChild: start: org.apache.catalina.LifecycleException: 
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception 
parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; 
nested exception is java.lang.NoSuchMethodError: 
org.springframework.beans.MutablePropertyValues.add(Ljava/lang/String;Ljava/lang/
Object;)Lorg/springframework/beans/MutablePropertyValues;

Может ли кто-нибудь указать мне, как добавить эту аннотацию и заставить JAX-RS работать со Spring? Кроме того, я использовал SessionFactory, и автоматически сгенерированный код ссылается на entityManagerFactory в тексте приложения. Можно ли их использовать взаимозаменяемо?

PS: Позвольте мне сказать, что я ненавижу Java EE со страстью до сих пор в моем трехнедельном путешествии с платформой, основными камнями преткновения на каждом уровне, извините за разгул.

1 Ответ

2 голосов
/ 24 октября 2011

Вы используете неправильный Autowire. «Мастер NetBeans REST» выглядит так, как если бы он использовал com.sun.jersey.api.spring.Autowire (последнее изображение, самый нижний край страницы) , а из вашего сообщения выше вы используете org.springframework.beans.factory.annotation.Autowire, который похоже, что Enum используется в Spring 2.0.

Из того, что я могу сказать, это может быть специфическая вещь для Spring 2.0 в любом случае. Возможно, вам стоит взглянуть на работу с REST JAX-RS самостоятельно (используя Джерси) , так как это не так сложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...