这段时间,开始接触ibatis,写了一个java project来试用一下ibatis。遇到了几个问题在此整理一下(如果说得不对,请指出)。
问题1 :The type org.springframework.dao.support.DaoSupport cannot be resolved. It is indirectly referenced from required .class files.
出错代码 :public class Test extends SqlMapClientDaoSupport{}
出错原因 :看出错提示,应该是未找到“DaoSupport”这个class文件。
分析过程:刚开始以为是继承SqlMapClientDaoSupport出现问题,我想应该漏了导入相应的包,于是导入包:import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;但是问题依然存在,这是怎么回事,明明我没有应用DaoSupport这个类啊,后来想想是不是SqlMapClientDaoSupport这个类还继承了DaoSupport呢?于是找了一个java反编译工具:jd-gui.exe。从网上找到,说是能反编译class和jar,于是用该工具打开了spring-orm-2.5.6.jar,仔细找了一下,在该包中并不存在DaoSupport这个类。
仔细看到了上面的图片,发现原来SqlMapClientDaoSupport继承了DaoSupport这个类,而且该工具清晰的看出DaoSupport不存在该包spring-orm-2.5.6中,那么它到底在哪呢?仔细看一下导入它的语句,会发现org.springframework.dao下,这个包是存在于spring.jar中的,打开spring.jar。于是导入该包spring.jar,解决上面问题。