毕业设计之错误集锦(一)

    今天真正开始做毕业设计, 当初想来是用全新的技术(当然是针对我了),ExtJs + spring MVC +mybatis + spring + oracle+weblogic,结果 由于找工作的原因,毕业设计直到4月份才开始做,而且还要一边兼职一边做,多余这样的全新技术我是没有信心了,还是降低一点难度吧,把spring MVC和mybatis换成我最熟悉的struts2和hibernate,这样就只需要学习ExtJsspring和oracle,weblogic了,说干就干,以下是我做的过程中的错误记录,估计随着进度的不断推进,会比较多,哈哈,也算是给自己的专业一个见证吧,这几天正好是清明节假期,就算是祭奠我大学专业课吧。

       1.No setter found for property 'testDao' in class 'com.shiep.action.LoginAction',

        这个其实相当简单,只不过第一次使用spring就会忘记在给被注入的对象设这setter方法,所谓的对象注入就是这个意思,不然spring无法注入成功,再者还要注入spring配置文件中的对象名和类中被要注入的对象名要一致,不然spring也找不到注入的对象。(刚开始搭建框架,所以只是测试一下,没有严格设计系统结构,之后开发的时候会设计好的,见谅)

           2.严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

          想必这个错误很多初学者都遇到过,基本上有这么几种原因:

第一,压根就没有这个类,所以才找不到,这时候只需要添加这个找不到的类即可(下载:点击打开链接)

第二:spring包只是引入工程中,而没有真正的导入到工程中,这个时候只需要把所有的springjar包copy到lib目录下即可;

第三:tomcat缓存的问题,先remove一下,add到tomcat中,重启tomcat即可。


        3.严重: Exception sending context initialized event to listener instance of classorg.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException:

Caused by:

org.springframework.beans.factory.BeanCreationException:

Error creating bean with name 'dao' defined in class path resource [applicationContext.xml]:

Error setting property values;

nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sessionFactory' of bean class [com.shiep.dao.TestDAO]:

Bean property 'sessionFactory' is not writable or has an invalid setter method.

Does the parameter type of the setter match the return type of the getter?

当我看到最后一句“does...”的时候,有种似曾相识的感觉,去年在XX公司实习的时候经常碰到,可惜忘了当初是怎么解决的,不过好得有点印象,再加上可以google一下,马上解决:

哈哈,原来是dao类忘记extends HibernateDaoSupport了,spring与hibernate结合时,需要用到spring提供的HibernateDaoSupport类来实现Hibernate的持久层访问技术否则的话,涉及到数据层dao的bean和setter方法都是invalid

       4.严重: Exception starting filter struts2
Unable to load configuration. - bean - jar:file:/D:/profession/apache-tomcat-6.0.14/webapps/bankRisk/WEB-INF/lib/struts2-spring-plugin-2.1.8.jar!/

Caused by: Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/D:/profession/apache-tomcat-6.0.14/webapps/bankRisk/WEB-INF/lib/struts2-spring-plugin-2.1.8.jar!/struts-plugin.xml:29:132

这个咋一看还以为是struts2-spring-plugin-2.1.8.jar这儿出错了呢,结果后面的caused by才是重点,查看jar包,你会发现其他的struts2的jar包最低也是2.1.6,有些还是2.1.8,只有xwork这个jar包是2.1.2,因此很有可能是版本太低了,搜了一下高版本的2.1.6,连名字都变成了xwork-core,可想而知是有重大改进的,这样就不报错了

你可能感兴趣的:(毕业设计之错误集锦(一))