spring的依賴注入,為什么用接口的實現類而不是父類的繼承類?


@Resource
private EmployeeService employeeService;

public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}

報錯:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/login':

Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException:

Bean named 'employeeService' must be of type [com.xidian.service.imp.EmployeeService], but was actually of type [com.sun.proxy.$Proxy67]

 

改成接口方式:

@Resource
private EmployeeServiceInter employeeService;

public void setEmployeeService(EmployeeServiceInter employeeService) {
this.employeeService = employeeService;
}

就可以啦!

 

通常是service層需要aop。用接口的話,AOP可以使用java自帶的動態代理,但是有點麻煩要寫接口。用類就要用第三方包cglib,但是簡單,不用寫接口

jdk規定動態代理必須用接口;當然也可以用類,用cglib可以去處理就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM