applicationContext
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="loginAction" class="com.test.action.LoginAction"
scope="prototype">
<property name="loginManager" ref="loginManager"></property>
</bean>

<bean id="loginManager"
class="com.test.manager.impl.LoginManagerImpl">
 <property name="sessionFactory" >  
            <ref local="sessionFactory"/>  
        </property> 
</bean>struts
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="struts2" extends="struts-default">
<action name="login" class="loginAction">
<result name="success">welcome.jsp</result>
<result name="input">login.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>action
private LoginManager loginManager;
private Person per; public LoginManager getLoginManager() {
return loginManager;
} public void setLoginManager(LoginManager loginManager) {
this.loginManager = loginManager;
} @Override
public String execute() throws Exception { if (loginManager.isLogin(per)) {
return SUCCESS;
}
return INPUT;
} public Person getPer() {
return per;
} public void setPer(Person per) {
this.per = per;
}

解决方案 »

  1.   

    <bean id="loginAction" class="com.test.action.LoginAction"
    scope="prototype">
    <property name="loginManager" ref="loginManager"></property>
    </bean>
    和下面的代码调换一下位置试试
    <bean id="loginManager"
    class="com.test.manager.impl.LoginManagerImpl">
    <property name="sessionFactory" >   
      <ref local="sessionFactory"/>   
      </property>  
    </bean>
      

  2.   

    你有没有在web.xml中配置 spring的监听器???
      

  3.   

    有配置的
      <!-- 配置Spring的监听 -->
      <listener>
       <listener-class>
        org.springframework.web.context.ContextLoaderListener
       </listener-class>
      </listener>以下为web.xml所有代码
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
     <!-- 配置Spring -->
      <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>
        classpath:application-*.xml
       </param-value>
      </context-param> <!-- 配置Struts2 
      <filter>
      <filter-name>struts2</filter-name>
      <filter-class>
       org.apache.struts2.dispatcher.FilterDispatcher
      </filter-class>
     </filter>
     <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping> -->  <!-- 配置Spring的监听 -->
      <listener>
       <listener-class>
        org.springframework.web.context.ContextLoaderListener
       </listener-class>
      </listener>
      <!-- 配置Spring的过滤器,解决乱码问题 -->
      <filter>
       <filter-name>encoding</filter-name>
       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
       <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
       </init-param>
      </filter>
      <filter-mapping>
       <filter-name>encoding</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
      <welcome-file-list>
        <welcome-file>reg.jsp</welcome-file>
      </welcome-file-list>
      
      
       <filter>
       <filter-name>struts2</filter-name>
       <filter-class>
       org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
       </filter-class>
        <init-param>
    <param-name>config</param-name>
    <param-value>struts-default.xml, classpath:struts.xml</param-value>
    </init-param>
      
      </filter>  <filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>  </web-app>
      

  4.   

    我也是报了这个错误,查找了半天。最后解决方式是:
    引用service包中的接口IUserService类。但是我引用的的实现类UserService