org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:355)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:800)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:237)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:198)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:116)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:290)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1112)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)

解决方案 »

  1.   

    web.xml 里面配置不对使用ContextLoaderListener来加载web.xml的时候。
    需要加入spring的applicationContext.xml等内容例如:
    ==================================================
    使用ContextLoaderListener加载web.xml
    --------------------------------------------------
    <'context-param>
    <'param-name>contextConfigLocation<'/param-name>
    <'param-value>
    /WEB-INF/daoContext.xml
    /WEB-INF/applicationContext.xml
    <'/param-value>
    <'/context-param><'listener>
    <'listener-class>
    org.springframework.web.context.ContextLoaderListener
    <'/listener-class>
    <'/listener>
    ==================================================还有一种方法使用的ContextLoaderServlet
    ==================================================
    使用ContextLoaderServlet加载web.xml
    --------------------------------------------------
    <'context-param>
    <'param-name>contextConfigLocation<'/param-name>
    <'param-value>
    /WEB-INF/daoContext.xml
    /WEB-INF/applicationContext.xml
    <'/param-value>
    <'/context-param><'servlet>
    <'servlet-name>context<'/servlet-name>
    <'servlet-class>
    org.springframework.web.context.ContextLoaderServlet
    <'/servlet-class>
    <'load-on-startup>1<'/load-on-startup>
    <'/servlet>
    ==================================================最后,还有一种方法DispatcherServlet
    ==================================================
    使用DispatcherServlet加载web.xml
    --------------------------------------------------
    <'web-app>
    ...
    <'servlet>
    <'servlet-name>example<'/servlet-name>
    <'servlet-class>
    org.springframework.web.servlet.DispatcherServlet
    <'/servlet-class>
    <'load-on-startup>1<'/load-on-startup>
    <'/servlet>
    <'servlet-mapping>
    <'servlet-name>example<'/servlet-name>
    <'url-pattern>*.form<'/url-pattern>
    <'/servlet-mapping>
    ...
    <'/web-app>
    ==================================================
      

  2.   

    另外,applicationcontext.xml加载之后,org.springframework.beans.factory.NoSuchBeanDefinitionException:   No   bean   named   'transactionManager'   is   defined 
    请确认,你定义了'transactionManager'这个bean地描述注意,是bean地描述定义
      

  3.   

    项目启动时加载XML文件出错,在代码中有注入这个类transactionManager,但是在xml文件中没有这个Bean的ID,检查XML文件和代码中引用的名称是否一致,建议在命名时参照规范,例如:类名:ActionSupper   对象名:actionSupper    如果有良好的代码规范,相信以后不会出现这样的问题。
      

  4.   

    transactionManager没有被定义,查查bean定义的配置文件看看,