嚴重:?Exception?sending?context?initialized?event?to?listener?instance?of?class?org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException:?Error?creating?bean?with?name?'MapperScannerConfigurer'?defined?in?class?path?resource?[applicationContext.xml]:?Initialization?of?bean?failed;?nested?exception?is?org.springframework.beans.factory.BeanCreationException:?Error?creating?bean?with?name?'sqlSessionFactory'?defined?in?class?path?resource?[applicationContext.xml]:?Invocation?of?init?method?failed;?nested?exception?is?org.springframework.core.NestedIOException:?Failed?to?parse?mapping?resource:?'file?[D:\eclipse\apache-tomcat-7.0.84\webapps\serverweb\WEB-INF\classes\mapper\SdkMapper.xml]';?nested?exception?is?org.apache.ibatis.builder.BuilderException:?Error?parsing?Mapper?XML.?Cause:?java.lang.IllegalArgumentException:?Mapped?Statements?collection?already?contains?value?for?mapper.SdkMapper.selectbyid
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at?org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at?org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at?org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at?org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at?org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:400)
at?org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:612)
at?org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:446)
at?org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
at?org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
at?org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at?org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5109)
at?org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5632)
at?org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at?org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
at?org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
at?java.util.concurrent.FutureTask.run(Unknown?Source)
at?java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown?Source)
at?java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown?Source)
at?java.lang.Thread.run(Unknown?Source)?
org.springframework.beans.factory.BeanCreationException:?Error?creating?bean?with?name?'MapperScannerConfigurer'?defined?in?class?path?resource?[applicationContext.xml]:?Initialization?of?bean?failed;?nested?exception?is?org.springframework.beans.factory.BeanCreationException:?Error?creating?bean?with?name?'sqlSessionFactory'?defined?in?class?path?resource?[applicationContext.xml]:?Invocation?of?init?method?failed;?nested?exception?is?org.springframework.core.NestedIOException:?Failed?to?parse?mapping?resource:?'file?[D:\eclipse\apache-tomcat-7.0.84\webapps\serverweb\WEB-INF\classes\mapper\SdkMapper.xml]';?nested?exception?is?org.apache.ibatis.builder.BuilderException:?Error?parsing?Mapper?XML.?Cause:?java.lang.IllegalArgumentException:?Mapped?Statements?collection?already?contains?value?for?mapper.SdkMapper.selectbyid
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at?org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at?org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at?org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at?org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at?org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:400)
at?org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:612)
at?org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:446)
at?org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
at?org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
at?org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at?org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5109)
at?org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5632)
at?org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at?org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
at?org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
at?java.util.concurrent.FutureTask.run(Unknown?Source)
at?java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown?Source)
at?java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown?Source)
at?java.lang.Thread.run(Unknown?Source)?
Caused?by:?org.springframework.beans.factory.BeanCreationException:?Error?creating?bean?with?name?'sqlSessionFactory'?defined?in?class?path?resource?[applicationContext.xml]:?Invocation?of?init?method?failed;?nested?exception?is?org.springframework.core.NestedIOException:?Failed?to?parse?mapping?resource:?'file?[D:\eclipse\apache-tomcat-7.0.84\webapps\serverweb\WEB-INF\classes\mapper\SdkMapper.xml]';?nested?exception?is?org.apache.ibatis.builder.BuilderException:?Error?parsing?Mapper?XML.?Cause:?java.lang.IllegalArgumentException:?Mapped?Statements?collection?already?contains?value?for?mapper.SdkMapper.selectbyid
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at?org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at?org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at?org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at?org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1136)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
...?20?more?
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at?org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at?org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at?org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at?org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1136)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
...?20?more?
Caused?by:?org.springframework.core.NestedIOException:?Failed?to?parse?mapping?resource:?'file?[D:\eclipse\apache-tomcat-7.0.84\webapps\serverweb\WEB-INF\classes\mapper\SdkMapper.xml]';?nested?exception?is?org.apache.ibatis.builder.BuilderException:?Error?parsing?Mapper?XML.?Cause:?java.lang.IllegalArgumentException:?Mapped?Statements?collection?already?contains?value?for?mapper.SdkMapper.selectbyid
at?org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:466)
at?org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:340)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
...?29?more?
at?org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:466)
at?org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:340)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at?org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
...?29?more?
Caused?by:?org.apache.ibatis.builder.BuilderException:?Error?parsing?Mapper?XML.?Cause:?java.lang.IllegalArgumentException:?Mapped?Statements?collection?already?contains?value?for?mapper.SdkMapper.selectbyid
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
at?org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:464)
...?32?more?
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
at?org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:464)
...?32?more?
Caused?by:?java.lang.IllegalArgumentException:?Mapped?Statements?collection?already?contains?value?for?mapper.SdkMapper.selectbyid
at?org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:782)
at?org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:754)
at?org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:578)
at?org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:288)
at?org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:107)
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)
...?34?more?
at?org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:782)
at?org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:754)
at?org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:578)
at?org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:288)
at?org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:107)
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)
at?org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)
...?34?more?
?
?
解決方案:DAO層中的mapper.xml文件出現重復的名稱,導致服務器啟動的時候無法尋找那一個,從而報?Error?creating?bean?with?name?'MapperScannerConfigurer'?defined?in?class?path?resource?[applicationContext.xml]:?Initialization?of?bean?failed;?nested?exception?is?org.springframework.beans.factory.BeanCreationException:?Error?creating?bean?with?name?'sqlSessionFactory'?defined?in?class?path?resource?[applicationContext.xml]
?
只需要將DAO層重復的方法名注釋掉即可
拓展,還有可能出現持久層中DAO里面,望各位碼友注意
?
?
?