关于SSH项目中,sessionFactory的管理问题。

在SSH项目中,用Spring来管理sessionFactory来实现Spring与Hibernate的整个,然后在应用中碰到一个这样的问题首先,我有一个BaseDaoI... 在SSH项目中,用Spring来管理sessionFactory来实现Spring与Hibernate的整个,然后在应用中碰到一个这样的问题
首先,我有一个BaseDaoImpl类,就是实现最基层的与数据库交互的方法,在这个类里实现sessionFactory的注入,并且有一个execute()方法,这个方法里会用到session来与数据库交互。
然后有一个OutDetailImpl类来继承BaseDaoImpl类,并且调用父类里的方法,但是在OutDetailImpl类里并没有注入sessionFactory,根据JAVA继承的特性,当BaseDaoImpl类被注入sessionFactory,OutDetailImpl不是同样可以使用么?但是在实际使用中,会报空指针
小弟学术不精,求大神赐教这是怎么回事。。。
展开
 我来答
yujmh
推荐于2016-01-10 · TA获得超过772个赞
知道小有建树答主
回答量:427
采纳率:33%
帮助的人:321万
展开全部

    不光在类中是继承关系,另外还要在spring的配置文件中也要建立对应的继承关系,你看下一下配置:

<!-- 配置数据源 -->

 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

  <!-- 驱动名称 -->

  <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />

  <!-- 连接数据库的URL -->

  <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />

  <!-- 连接数据库的用户名 -->

  <property name="username" value="scott" />

  <!-- 连接数据库的密码 -->

  <property name="password" value="tiger" />

 </bean>

 

 <!-- 配置SessionFactory -->

 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

  <!-- 指定数据源 -->

  <property name="dataSource" ref="dataSource" />

  <!-- 指定hibernate的相关属性 -->

  <property name="hibernateProperties">

   <props>

    <!-- 指定数据库方言 -->

    <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>

    <!-- 显示SQL语句 -->

    <prop key="hibernate.show_sql">true</prop>

   </props>

  </property>

  <!-- 指定ORM映射文件 -->

  <property name="mappingResources">

   <list>

    <value>com/pb/entity/User.hbm.xml</value>

   </list>

  </property>

 </bean>

 

 <!-- 数据访问层(DAO) -->

 <!-- 基类Dao -->

 <bean id="baseDao" class="com.pb.dao.impl.BaseDaoImpl" abstract="true">

  <!-- 注入SessionFactory属性 -->

  <property name="sessionFactory" ref="sessionFactory" />

 </bean>

 <!-- UserDao -->

 <bean id="userDao" parent="baseDao" class="com.pb.dao.impl.UserDaoImpl"></bean>

  

素笔青丹染流年
2013-08-14 · TA获得超过104个赞
知道答主
回答量:110
采纳率:0%
帮助的人:41.1万
展开全部
我刚才试了,不会报错啊,请吧具体的错误代码贴出来吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尊重他人选择
2013-08-12 · TA获得超过387个赞
知道答主
回答量:226
采纳率:0%
帮助的人:169万
展开全部
注入工厂管理时候调用父类的子类也得注入的。

如:
<bean id="Target"
class="com.forecast.business.service.PrForecastTwoServiceImpl">
<property name="BaseDaoImpl路径">---父类(一般实现类用impl结尾,而继承的DAO不写impl的,因为继承的是接口而不是实现类,所以这里应该最好写BaseDao--规范)
<ref local="BaseDaoImpl"/>
</property>
</bean>
<bean id="Target"
class="OutDetailImpl路径">---子类(所谓的实现BaseDao接口的类)
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
希望对你有所帮助
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寻第二个家
2013-08-13
知道答主
回答量:6
采纳率:0%
帮助的人:9411
展开全部
你最好画一下图 这样就能说明问题, 理清思路
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式