最近启动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);
}
}