<bean id="dataSource"
     class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value ="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url" value="jdbc:oracle:thin:@192.168.1.123:1521:orcl">
</property>
<property name="username" value ="sam"> </property>
<property name="password" value ="1234"></property>
    </bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" value="dataSource">
</property>
<property name="hibernateProperties">
   <props>
     <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect
     </prop>
     <prop key="hibernate.show_sql">true</prop>
   </props>
 </property>
</bean>

<bean id="GuestbookDao"
class="com.xino.Guestbook.dao.hibernate.GuestBookDaoHibernate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="guestbookManager"
class="com.xino.Guestbook.service.impl.GuestbookManagerimpl">
<property name="GuestbookDao">
<ref bean="GuestbookDao" />
</property>
</bean></beans>
上面不明白的是,为什么我的GuestbookDao接口bean和其实现类,要设置其属性为sessionFactory?
还有就是我的另一个调用GuestbookDao的服务层接口,为什么也要设置其属性为GuestbookDao?

解决方案 »

  1.   

    还有一个问题,从上面的xml文件中,怎么体现spring依赖注入的思想?
      

  2.   

    能否根据上面的xml文件结合说下怎么体现依赖注入?
      

  3.   

    <bean id="guestbookManager" class="com.xino.Guestbook.service.impl.GuestbookManagerimpl"> 
       <property name="GuestbookDao"> 
           <ref bean="GuestbookDao" /> 
       </property> 
    </bean> 依赖注入嘛~~看这个<property name="GuestbookDao"> 这个参数的对象是你在GuestbookManagerimpl里面的Dao接口里定义的一个对象,但是这个对象你在做的时候没有实例化,也就是说没有new出来~~但是如何运行呢?<ref bean="GuestbookDao" /> 这个就是把这个对象的实例传给他~~<bean id="guestbookManager" 这个以后就是这个dao接口的实例了。要用这个实例的时候。只要在spring里把这个名字方进入。框架会自动帮你完成实例化的~~一般依赖注入都采用面向接口的方式,这样非常灵活~~