No bean named 'testspring' is defined在你的配置文件里某个地方引用了testspring这个不存在的bean。

解决方案 »

  1.   

    去掉了。还是相同的错误,
    Can't resolve reference to bean 'manager' while setting property 'bt'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'manager' is defined
    org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:180)
      

  2.   

    你最好把web.xml,applicationContext.xml,xxx-servlet.xml的配置都完整帖出来较好。从你帖出的来看,是没有问题的。实际上,springMVC配置应该很容易才对。
    我猜测一下,你是不是用ContextLoaderServlet载入applicationContext.xml的?
      

  3.   

    applicationcontext.xml
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource">
    <ref local="dataSource"/>
    </property>
    </bean>
    <bean id="bookDao" class="slim.dao.none.BookDAOImpl">
    <property name="ds" ref="dataSource"/>
    </bean>
    <bean id="userDao" class="slim.dao.none.UserDAOImpl">
    <property name="ds" ref="dataSource"/>
    </bean>
    <bean id="classDao" class="slim.dao.none.ClassDAOImpl">
    <property name="ds" ref="dataSource"/>
    </bean>
    <bean id="transactionDao" class="slim.dao.none.TransactionDAOImpl">
    <property name="ds" ref="dataSource"/>
    </bean>
    <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
    <property name="transactionManager" ref="transactionManager"/>
    <property name="transactionAttributes">
    <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="update*">PROPAGATION_REQUIRED</prop>
    <prop key="im*">PROPAGATION_REQUIRED</prop>
    <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
    </props>
    </property>
    </bean>
    <bean id="manager" parent="baseTransactionProxy">
    <property name="target">
    <bean class="slim.business.BookTransactionImpl">
    <property name="bookDao" ref="bookDao"/>
    <property name="userDao" ref="userDao"/>
    <property name="classDao" ref="classDao"/>
    <property name="transactionDao" ref="transactionDao"/>
    </bean>
    </property>
    </bean>
    ==============================================
    dispatcher-servlet.xml
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    </bean>
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
    <props>
    <prop key="/login.do">login_action</prop>
    </props>
    </property>
    </bean>
    <bean id="login_action" class="slim.web.controller.LoginFormController">
    <property name="bt" ref="manager"/>
    <property name="success_view" value="index"/>
    </bean>
    =========================================================
    web.xml
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    /WEB-INF/applicationContext.xml
    </param-value>
    </context-param>
        <display-name>Spring Mvc with Jstl</display-name>
    <servlet>
    <servlet-name>Dispatcher</servlet-name>
    <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>2</load-on-startup>
    <!--init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/Config.xml</param-value>
    </init-param-->
    </servlet>
    <servlet-mapping>
    <servlet-name>Dispatcher</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>就是这些拉
      

  4.   

    怀疑和load-on-startup是不是有关的
      

  5.   

    晕死,你的applicationContext都没载入,当然找不到manager这个bean了。
    在你的web.xml中加入:    <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
    就行了。ContextLoaderListener负责载入
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>......</param-value>
    </context-param>
    指定的spring的bean配置文件,并且那些bean是可以被xxx-servlet.xml中引用的,也就是说,它们在同一个上下文里(但是不同的xxx-servlet.xml之间是独立的)。
      

  6.   

    哦,想起来了
    原来是<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    惹的祸,加上验证后对listener的验证有问题,所以为了调试就把listner暂时关闭了
    后来居然忘记了
    谢谢三生兄~~