搭建SSM框架,用junit测试报错,跪求高手解答!!

qq_31484927 2018-01-25 02:54:57
严重: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@58cd7fdb] to prepare test instance [com.tdzs.utils.MapperTest@49addecc]
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybatis.spring.mapper.MapperScannerConfigurer#0' defined in URL [file:/E:/MyEclipse2014Workspace2/ssm-tdzs/target/classes/applicationContext.xml]: Cannot resolve reference to bean 'sqlSessionFactory' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in URL [file:/E:/MyEclipse2014Workspace2/ssm-tdzs/target/classes/applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis-config.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: The setting mapUnderscoreToCameLCase is not known. Make sure you spelled it correctly (case sensitive).
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1531)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1276)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:115)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:128)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:108)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:251)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116)
... 25 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in URL [file:/E:/MyEclipse2014Workspace2/ssm-tdzs/target/classes/applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis-config.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: The setting mapUnderscoreToCameLCase is not known. Make sure you spelled it correctly (case sensitive).
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
... 43 more
Caused by: org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis-config.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: The setting mapUnderscoreToCameLCase is not known. Make sure you spelled it correctly (case sensitive).
at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:500)
at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:380)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)
... 50 more
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: The setting mapUnderscoreToCameLCase is not known. Make sure you spelled it correctly (case sensitive).
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:120)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:98)
at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:494)
... 53 more
Caused by: org.apache.ibatis.builder.BuilderException: The setting mapUnderscoreToCameLCase is not known. Make sure you spelled it correctly (case sensitive).
at org.apache.ibatis.builder.xml.XMLConfigBuilder.settingsAsProperties(XMLConfigBuilder.java:133)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:106)
... 55 more

...全文
683 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
余通(ノ#-_-)ノ 2020-09-27
  • 打赏
  • 举报
回复
我复制粘贴重写了一遍, 真就可以了,手写不知道什么错误
qq_31484927 2018-01-26
  • 打赏
  • 举报
回复
引用 8 楼 dong_19890208 的回复:
[quote=引用 7 楼 qq_31484927 的回复:] [quote=引用 3 楼 dong_19890208 的回复:] 日志里面说了mybatis-config.xml 的 mapUnderscoreToCameLCase 配置有is unknown , 检查一下是不是拼写错了
这是我写的mybatis-config.xml,没有错啊,而且我照着视频敲的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCameLCase" value="true"/> </settings> <typeAliases> <package name="com.tdzs.bean"/> </typeAliases> </configuration>[/quote] 应该是 mapUnderscoreToCamelCase 你拼错了[/quote] 手敲上去和找官网找的一模一样,但是手敲就要报错,复制粘贴后找到原因,是反向工程生成SQL有重复的,去掉就成功了! 还是谢谢你!
dong_19890208 2018-01-26
  • 打赏
  • 举报
回复
引用 7 楼 qq_31484927 的回复:
[quote=引用 3 楼 dong_19890208 的回复:] 日志里面说了mybatis-config.xml 的 mapUnderscoreToCameLCase 配置有is unknown , 检查一下是不是拼写错了
这是我写的mybatis-config.xml,没有错啊,而且我照着视频敲的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCameLCase" value="true"/> </settings> <typeAliases> <package name="com.tdzs.bean"/> </typeAliases> </configuration>[/quote] 应该是 mapUnderscoreToCamelCase 你拼错了
qq_31484927 2018-01-25
  • 打赏
  • 举报
回复
引用 3 楼 dong_19890208 的回复:
日志里面说了mybatis-config.xml 的 mapUnderscoreToCameLCase 配置有is unknown , 检查一下是不是拼写错了
这是我写的mybatis-config.xml,没有错啊,而且我照着视频敲的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCameLCase" value="true"/> </settings> <typeAliases> <package name="com.tdzs.bean"/> </typeAliases> </configuration>
qq_31484927 2018-01-25
  • 打赏
  • 举报
回复
引用 3 楼 dong_19890208 的回复:
日志里面说了mybatis-config.xml 的 mapUnderscoreToCameLCase 配置有is unknown , 检查一下是不是拼写错了
这是我写的mybatis-config.xml,没有错啊,而且我照着视频敲的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCameLCase" value="true"/> </settings> <typeAliases> <package name="com.tdzs.bean"/> </typeAliases> </configuration>
qq_31484927 2018-01-25
  • 打赏
  • 举报
回复
引用 3 楼 dong_19890208 的回复:
日志里面说了mybatis-config.xml 的 mapUnderscoreToCameLCase 配置有is unknown , 检查一下是不是拼写错了
这是我写的mybatis-config.xml,没有错啊,而且我照着视频敲的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCameLCase" value="true"/> </settings> <typeAliases> <package name="com.tdzs.bean"/> </typeAliases> </configuration>
Sunyiban 2018-01-25
  • 打赏
  • 举报
回复
全文检索mapUnderscoreToCameLCase ~
dong_19890208 2018-01-25
  • 打赏
  • 举报
回复
日志里面说了mybatis-config.xml 的 mapUnderscoreToCameLCase 配置有is unknown , 检查一下是不是拼写错了
qq_31484927 2018-01-25
  • 打赏
  • 举报
回复
package com.tdzs.utils; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.tdzs.dao.UTUserMapper; /* * 测试dao层工作 * @author lfy * 推荐Spring的项目可以使用Spring的单元测试,可以自动注入我们需要的组件 * 1.导入SpringTest模块 * 2.@ContextConfiguration指定Spring配置文件的位置 * 3.直接autowired要使用的组件 * * */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath*:applicationContext.xml"}) public class MapperTest { @Autowired UTUserMapper utUserMapper; /** * * 测试DepartmentMapper * * */ @Test public void testCRUD(){ // //1.创建SpringIOC容器 // ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-mybatis.xml"); // //2.从容器中获取mapper // UTUserMapper bean =ioc.getBean(UTUserMapper.class); System.out.println(utUserMapper); //utUserMapper.insert(new UTUser(null, "123", "张三", "zhangsan", "111", null, null, "1")); } }
qq_31484927 2018-01-25
  • 打赏
  • 举报
回复
说无法获取配置文件的sqlSessionFactory,但是我配置文件里又有,网上查了很多方法都无法解决 <!-- ====================配置和MyBatis的整合=================== --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:mybatis-config.xml"></property> <!-- mapper存放地址 --> <property name="mapperLocations" value="classpath:mapper/*.xml"></property> </bean> <!-- DAO接口即Mapper接口所在的包,Spring会自动查找其其下的Mapper 即DAO --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 扫描所有到接口实现,加入到Ioc容器中 --> <property name="basePackage" value="com.tdzs.dao"></property> <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> </bean> <!-- ==================================== --> <!-- ========================事物管理========================= --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean>

67,547

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧