代碼報錯:org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'xxxxImpl' is expected to be of type 'com.xxx.xxxImpl' but was actually of type 'com.sun.proxy.$Proxy62'
直接Autowired一個實現類,而不是接口
@Autowired
private XxxServiceImpl xxxService;
解決方案
1. Autowired接口
2. 使用EnableAspectJAutoProxy
SpringBootApplication
@EnableAspectJAutoProxy(proxyTargetClass = true)
public class Application {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class);
app.run(args);
}
}
設置proxy-target-class爲true即使用cglib的方式代理對象,默認是jdk方式代理。
jdk的動態代理不支持類注入,只支持接口方式注入。