国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JSP > 正文

JSP教程之整合hibernate持久層3

2024-09-05 00:17:17
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

jsp網(wǎng)頁(yè)制作spring整合Hibernate---- 3
問(wèn)題和解決 補(bǔ)充2
現(xiàn)象:
UserAction中修改:
//UserDAO dao = (UserDAO) wac.getBean("userDAO");
UserDAO dao = (UserDAO) wac.getBean("userDAOProxy"); //@1
配置文件中增加:
<bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref local="transactionManager"/>
  </property>
  <property name="target"><ref local="userDAO"/></property>
  <property name="transactionAttributes">
   <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
   </props>
  </property>
</bean>
這樣運(yùn)行時(shí)@1處拋出ClassCastException.
===================================================================================================
原因:
仔細(xì)看指南0.8版本145頁(yè)所描述的事情.UserDAO雖然只繼承了HibernateDAOSupport,看來(lái)沒(méi)有事先任何接口,但是
HibernateDAOSupport實(shí)現(xiàn)了InitiralBean接口,所以UserDAO也相當(dāng)于實(shí)現(xiàn)了這個(gè)接口。
因此本例按照實(shí)現(xiàn)了某個(gè)接口的DAO來(lái)處理,處理過(guò)程如下:
 因?yàn)樗麑?shí)現(xiàn)了接口A,所以getBean得到一個(gè)實(shí)現(xiàn)了A的實(shí)例,并非繼承UserDAO。所以用UserDAO轉(zhuǎn)型會(huì)失敗。
 如果UserDAO沒(méi)有實(shí)現(xiàn)接口A,那么getBean會(huì)得到一個(gè)UserDAO的子類(lèi)實(shí)例,這時(shí)可以用UserDAO來(lái)轉(zhuǎn)型。
綜上所訴,UserDAO必須實(shí)現(xiàn)IUserDAO接口,并且用IUserDAO轉(zhuǎn)型才行.
因?yàn)閁serDAO必須繼承HibernateDAOSupport,所以沒(méi)有辦法不實(shí)現(xiàn)任何接口.

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹿泉市| 玉环县| 台北市| 疏附县| 龙门县| 旬阳县| 宜兰市| 黎川县| 离岛区| 梅河口市| 赞皇县| 芜湖县| 永嘉县| 凌海市| 济阳县| 太仆寺旗| 绥江县| 禄丰县| 郓城县| 东光县| 大化| 西畴县| 宁津县| 呈贡县| 井陉县| 阜宁县| 龙州县| 天气| 潢川县| 武城县| 铜山县| 响水县| 安庆市| 锡林浩特市| 禄丰县| 郁南县| 深泽县| 闻喜县| 泽州县| 治多县| 彭水|