解决方案 »

  1.   

    Spring的配置文件中配置:
    <!-- 配置DAO -->
    <bean id="userDAO" class="dao.hibernate.UserDAOHibernateImpl">    //userDAO为接口名,class中为DAO的具体实现。
    <property name="sessionFactory">           //实现中需要注入的属性
    <ref bean="mySessionFactory" />
    </property>
    </bean>在action中这样调用:
    ApplicationContext ctx=this.getWebApplicationContext();
    UserDAO ua=(UserDAO)ctx.getBean("userDAO");
      

  2.   

    如果web端和service不是在一个服务器上发布的呢?
      

  3.   

    假如有一个学生表:student
    首先,写个接口:public interface IStudentDAO{
        public List findAllStudent();
    }然后接口实现类:public class StudentDAOImpl implements IStudentDAO{
        public List findAllStudent(){
          ...
        }
    }action类public class ShowAction extends Action{
         private IStudentDAO studentDao;
         public void setStudentDao(IStudentDAO studentDao) {
    this.studentDao= studentDao;
    }
         public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
         List list = studentDao.findAllStudent();
         ......
    }此时,在applicationContext.xml配置<!-- 配置事务 -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
         <property name="sessionFactory">
       <ref local="sessionFactory"/>
         </property>
    </bean>
    <bean id="baseTxProxy" lazy-init="true" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    <property name="transactionManager">
    <ref local="transactionManager"/>
    </property>
    <property name="transactionAttributes">
    <props>
    <prop key="*">PROPAGATION_REQUIRED</prop>
    </props>
    </property>
    </bean>
    <bean id="studentDAO" class="com.hibernate.dao.impl.StudentDAOImpl "> <---配置StudentDAOImpl 
    <property name="sessionFactory">
    <ref local="sessionFactory"/>
    </property>
    </bean>
    <bean name="/show" class="com.struts.action.ShowAction"> <-----配置Action,此处注入StudentDAOImpl
    <property name="studentDao"> 
    <ref local="studentDAO"/>
    </property>
    </bean>