今天写了一段很简单的代码,Eclipse竟然报错
import org.springframework.jdbc.core.support.JdbcDaoSupport;import com.rainbow.springdemo.dao.AccountDao;public class AccoutDaoImpl extends JdbcDaoSupport implements AccountDao {@Overridepublic void outMoney(String out, Double money) {}@Overridepublic void inMoney(String in, Double money) {}
}
报的错为
The hierarchy of the type AccoutDaoImpl is inconsistent
后然,发现,只要不继承“JdbcDaoSupport”就不会报错。那么问题肯定就是出在“JdbcDaoSupport”上了。但是JdbcDaoSupport所在的jar我也放在classpath里了啊,所以就比较郁闷了。后来在stackoverflow上找到了一篇贴子:http://stackoverflow.com/questions/9633118/eclipse-the-hierarchy-of-the-type-is-inconsistent-with-configurable-annotat
根据这篇贴子的描述,我就追踪了了下 JdbcDaoSupport 的类继承图,发现它继承自 DaoSupport,而 DaoSupport 又实现了 InitializingBean。问题就出在 InitializingBean 上,因为它是属于“spring-beans”jar包了,而我没却没有把这个包放在classpath中,真是笨死了。
找到原因之后,赶紧把“spring-beans-4.1.6.RELEASE.jar”添加进classpath中,结果就OK了。