1. NotWritablePropertyException
當(dāng)出現(xiàn)異常:org.springframework.beans.NotWritablePropertyException: Invalid property '…' of bean class時,出現(xiàn)異常的原因是在Spring中的property name的錯誤。
<property name="...."> 中name的名字是與bean的set方法相關(guān)的,而且要注意大小寫。比如:
public class UserBeanImpl extends BaseManage implements UserBean {
private BaseDao dao = null;
public void setUserDao (BaseDao dao){
this.dao = dao;
}
}
那么xml的定義應(yīng)該是:
<bean id="userBean" class="…UserBeanImpl ">
<property name="userDao">
<ref bean="BaseDao" />
</property>
</bean>
<property name="userDao">中的name應(yīng)該與setUserDao(…)方法一致,并將set后的第一個字母小寫。
2. Could not open class path resource[....hbm.xml]
當(dāng)出現(xiàn)異常:java.io.FileNotFoundException: Could not open class path resource [....hbm.xml]時,提示找不到hibernate的配置文件….hbm.xml,此時很可能是開發(fā)人員的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沒有寫全路徑,該小節(jié)的異常,解決方法是寫全路徑,例如:
com/cotel/netvote/dao/model/User.hbm.xml。
3. java.lang.NoClassDefFoundError
一般情況下是由于開發(fā)人員沒有把必要的jar包放到lib中。
比如要采用spring和hibernate(帶事務(wù)支持的話),開發(fā)人員除了spring.jar外還需要hibernat.jar、aopalliance.jar、cglig.jar、jakarta-commons下的幾個jar包。
開發(fā)人員也可以在:http://www.springframework.org/download.html下載spring開發(fā)包,其中spring -framework-version-with-dependencies.zip這個壓縮包比spring-framework-version.zip多一個lib目錄,其中有一些依賴的包。
posted on 2007-12-28 12:39
阿蜜果 閱讀(2131)
評論(2) 編輯 收藏 所屬分類:
Spring