程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> spring的依賴注入,為什麼用接口的實現類而不是父類的繼承類?,spring接口

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

編輯:JAVA綜合教程

spring的依賴注入,為什麼用接口的實現類而不是父類的繼承類?,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可以去處理就可以了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved