1. NotWritablePropertyException
当出现异常:org.springframework.beans.NotWritablePropertyException: Invalid property '…' of bean class时,出现异常的原因是在Spring中的property name的错误。
<property name="...."> 中name的名字是与bean的set方法相关的,而且要注意大小写。比如:
public class UserBeanImpl extends BaseManage implements UserBean {
private BaseDao dao = null;
public void setUserDao (BaseDao dao){
this.dao = dao;
}
}
那么xml的定义应该是:
<bean id="userBean" class="…UserBeanImpl ">
<property name="userDao">
<ref bean="BaseDao" />
</property>
</bean>
<property name="userDao">中的name应该与setUserDao(…)方法一致,并将set后的第一个字母小写。
2. Could not open class path resource[....hbm.xml]
当出现异常:java.io.FileNotFoundException: Could not open class path resource [....hbm.xml]时,提示找不到hibernate的配置文件….hbm.xml,此时很可能是开发人员的Hibernate配置文件没有写全路径,eg:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
……
</props>
</property>
</bean>
上例的User.hbm.xml没有写全路径,该小节的异常,解决方法是写全路径,例如:
com/cotel/netvote/dao/model/User.hbm.xml。
3. java.lang.NoClassDefFoundError
一般情况下是由于开发人员没有把必要的jar包放到lib中。
比如要采用spring和hibernate(带事务支持的话),开发人员除了spring.jar外还需要hibernat.jar、aopalliance.jar、cglig.jar、jakarta-commons下的几个jar包。
开发人员也可以在:http://www.springframework.org/download.html下载spring开发包,其中spring -framework-version-with-dependencies.zip这个压缩包比spring-framework-version.zip多一个lib目录,其中有一些依赖的包。
posted on 2007-12-28 12:39
阿蜜果 阅读(2113)
评论(2) 编辑 收藏 所属分类:
Spring