The bean 'xxx' could not be injected as a 'xxx'because it is a JDK dynamic proxy that

最近启动springboot项目的时候突然提示以下错误, 完全懵逼,之前的代码完全没有改动过, 过几天突然就报了这么一个错误

Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'appPackageDownloadCountController': Unsatisfied dependency expressed through field 'appPackageDownloadCountService'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'appPackageDownloadCountService' is expected to be of type 'com.seengene.ar.core.arcore.impl.AppPackageDownloadCountService' but was actually of type 'com.sun.proxy.$Proxy83'
2018-03-05 11:24:22.335  INFO 17183 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2018-03-05 11:24:22.347  INFO 17183 --- [           main] utoConfigurationReportLoggingInitializer : 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2018-03-05 11:24:22.352 ERROR 17183 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

The bean 'appPackageDownloadCountService' could not be injected as a 'com.seengene.ar.core.arcore.impl.AppPackageDownloadCountService' because it is a JDK dynamic proxy that implements:
    com.seengene.ar.core.arcore.dao.AppPackageDownloadCountDao


Action:

Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching.


Process finished with exit code 1

原因:借鉴这里写链接内容
解决办法:在启动类中加上@EnableTransactionManagement(proxyTargetClass = true)就可以了

@SpringBootApplication(scanBasePackages = "com.seengene.ar")
@EnableTransactionManagement(proxyTargetClass = true)
public class RestfulApplication {

    public static void main(String[] args) {
        SpringApplication.run(RestfulApplication.class, args);
    }
}

你可能感兴趣的:(springboot)