我spring全部的配置<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<description>zaane master beans</description>

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
 <!--property name="hibernate.dialect"><value>org.hibernate.dialect.PostgreSQLDialect</value></property--> 
<property name="driverClass">
<value>org.postgresql.Driver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:postgresql://192.168.0.16:5432/zaane</value>
</property>
<property name="user">
<value>pos</value>
</property>
<property name="password">
<value>sasa</value>
</property>  
</bean>

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
        </property>
<property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property>
<property name="annotatedClasses">
<list>
<value>test.model.UserModel</value>
</list>
        </property>
    </bean>
    <!--bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
     <property name="sessionFactory">
     <ref local="sessionFactory"/>
     </property>
    </bean-->
    <bean id="userservice" class="test.service.Userservice">
     <property name="sessionFactory">
     <ref local="sessionFactory"/>
     </property>
    </bean>
    <!--bean name="/login" class="test.struts.action.LoginAction" singleton="false">
     <property name="userservice">
     <ref bean="userservice"/>
     </property>
    </bean-->
        
    
</beans>

解决方案 »

  1.   

    乱七八糟的!你是把action交给Spring管理了吧?最好使用分散配置,把applicationContext.xml里的action移到另一个xml文件里,要不乱七八糟的!另外,你的程序里有DAO层吗?正常是action调用service,service调用DAO,所以Spring的配置文件里需要把DAO注入给service,你的配置文件里我没有看到DAO啊?是不是这里出错了啊?如果你没有使用DAO层,那是不是Spring上下文没有被加载啊?这就要看你怎么加载的啊!通常是在web.xml里像初始化Struts那样加在Spring的应用上下文 ,或者在struts-config.xml里使用<plug-in>加载Spring的应用上下文!另外,我还要说的是,如果用了Stuts+Hibernate+Spring结构的WEB程序,就一定要分层,如果你的程序里没有DAO,那就不要用Spring了!