gpt4 book ai didi

java - Spring 4 Web服务HTTP 500 - IllegalStateException : The mapped controller method class is not an instance of the actual controller bean

转载 作者:行者123 更新时间:2023-12-02 07:32:28 28 4
gpt4 key购买 nike

所以我正在做一个学校项目,我正在尝试构建一个 JSON Rest Web 服务应用程序。我正在使用 Spring 4 和 Hibernate 4 以及 Jackson 2。

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

它或多或少是这样的:

HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalStateException: The mapped controller method class 'pl.lodz.pp.controllers.crud.impl.UserController' is not an instance of the actual controller bean instance 'com.sun.proxy.$Proxy47'. If the controller requires proxying (e.g. due to @Transactional), please use class-based proxying.

我很困惑。我从来没有在本地得到过这个,通常如果我在云上重新启动应用程序(一次或多次),它会再次工作一段时间。

我犯了一些错误,例如

@Autowire
private ClassType variable

而不是

@Autowire
private ClassInterface variable

但我把它们全部修好了。 我不再使用@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" />

请在此处找到完整代码: https://github.com/atais/PP-JSON

<小时/>

底线我没有使用 @Transactional,而是使用 Interface 类型注入(inject)所有内容。那么我可能做错了什么?什么是最好的 - 它有时有效,但有时我会收到此错误:/

最佳答案

您唯一需要做的就是添加

@EnableAspectJAutoProxy(proxyTargetClass = true)

到您的 Spring 配置。

关于java - Spring 4 Web服务HTTP 500 - IllegalStateException : The mapped controller method class is not an instance of the actual controller bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24058371/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com