Spring 4 Webservice HTTP 500-IllegalStateException:映射的控制器方法类不是实际控制器bean的实例

Ata*_*ais 2 java spring web-services hibernate cloudbees

所以我正在做一个学校项目,并且正在尝试构建JSON Rest Webservice应用程序。我在Jackson 4中使用Spring 4和Hibernate 4。

我在使用此应用程序时遇到了很多困难,但是现在遇到了一个我无法克服的问题。我将Cloudbees用作我的云服务提供商,并且时不时要指出这一点(这很重要,因为它有时可以工作,有时不能!)。我收到HTTP 500错误:/。最好的部分是-我从来没有在本地买过它。

它或多或少是这样的:

HTTP状态500-请求处理失败;嵌套异常是java.lang.IllegalStateException:映射的控制器方法类'pl.lodz.pp.controllers.crud.impl.UserController'不是实际控制器bean实例'com.sun.proxy。$ Proxy47'的实例。如果控制器需要代理(例如,由于@Transactional),请使用基于类的代理。

而且我很困惑。我从来没有在本地获得此文件,通常如果我在云上重新启动应用程序(一次或多次),它将再次运行一段时间。

我犯了一些错误,例如

@Autowire
private ClassType variable 
Run Code Online (Sandbox Code Playgroud)

代替

@Autowire
private ClassInterface variable 
Run Code Online (Sandbox Code Playgroud)

但是我都把它们修好了。@Transactional不再使用注释。至少不在我班上。也许GenericDao在某处有它(https://code.google.com/p/hibernate-generic-dao/),但是我以前从未遇到过这个问题。


交易管理:

<bean id="transactionManager"
   class="org.springframework.orm.hibernate4.HibernateTransactionManager">
   <property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager" />
Run Code Online (Sandbox Code Playgroud)

请在这里找到完整的代码:https//github.com/atais/PP-JSON


底线 ,我不使用@Transactional和我注入的一切接口类型。那我可能做错了什么?最好的是-有时可以使用,但是有时会出现此错误:/

Jan*_*ert 5

您唯一需要做的就是添加

@EnableAspectJAutoProxy(proxyTargetClass = true)
Run Code Online (Sandbox Code Playgroud)

到您的Spring配置。