文档章节

Junit4 new ClassPathXmlApplicationContext()失败

卡卡天涯
 卡卡天涯
发布于 2014/11/19 17:50
字数 639
阅读 38
收藏 0
点赞 0
评论 0

上配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans 
 xmlns="http://www.springframework.org/schema/beans" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:context="http://www.springframework.org/schema/context" 
 xmlns:jdbc="http://www.springframework.org/schema/jdbc"  
 xmlns:jee="http://www.springframework.org/schema/jee" 
 xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:jpa="http://www.springframework.org/schema/data/jpa" 
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xmlns:util="http://www.springframework.org/schema/util"
 
 xsi:schemaLocation="
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
  http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
  http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
  http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
  http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
 <!-- 配置数据源 -->
 <util:properties id="jdbcProps" 
  location="classpath:jdbc.properties"/>
 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
  <property name="driverClass" value="#{jdbcProps.driver}"/>
  <property name="jdbcUrl" value="#{jdbcProps.url}"/>
  <property name="user"  value="#{jdbcProps.user}"/>
  <property name="password" value="#{jdbcProps.pwd}"/>
 </bean>
 
 
 <!-- 配置SqlSessionFactory -->
  <bean id="sqlSessionFactory" 
  class="org.mybatis.spring.SqlSessionFactoryBean">  
      <property name="dataSource" ref="dataSource" />
      <property name="mapperLocations" 
       value="classpath:com/caizhujiaren/entity/*.xml"/>
    </bean>
   
    <!-- 配置MyBatis注解 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
       <property name="basePackage" value="com.caizhujiaren" />
       <property name="annotationClass" 
           value="com.caizhujiaren.annotation.Mapper"/>
 </bean>
 
 <!-- 开启注解扫描 -->
 <context:component-scan 
  base-package="com.caizhujiaren" />
 <!-- 支持@RequestMapping请求和Controller映射 -->
 <mvc:annotation-driven />
 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/"/>
  <property name="suffix" value=".jsp"/>
 </bean>  
</beans>

简单的单元测试:

 @Test
  public void testAll() {
    System.out.println("1");
   ApplicationContext ctx = 
    new ClassPathXmlApplicationContext("applicationContext.xml");
    System.out.println("2");
   HuiYuanDao dao = ctx.getBean(HuiYuanDao.class);
   HuiYuanPage page=new HuiYuanPage();
    System.out.println("3");
   List< HuiYuan> list=dao.findByPage(page);
   System.out.println(list.toString());
  }

异常信息:

 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0': Invocation of init method failed; nested exception is javax.validation.ValidationException: Unable to instantiate Configuration.
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1512)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
 at com.caizhujiaren.test.testTestA.testAll(testTestA.java:16)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:483)
 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
 at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
 at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
 at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
 at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
 at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
 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: javax.validation.ValidationException: Unable to instantiate Configuration.
 at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:272)
 at org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:191)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1571)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509)
 ... 35 more
Caused by: java.lang.NullPointerException
 at java.util.ResourceBundle.getBundle(ResourceBundle.java:1080)
 at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.loadBundle(ResourceBundleMessageInterpolator.java:202)
 at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.getFileBasedResourceBundle(ResourceBundleMessageInterpolator.java:182)
 at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:81)
 at org.hibernate.validator.engine.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:73)
 at org.hibernate.validator.engine.ConfigurationImpl.<init>(ConfigurationImpl.java:57)
 at org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:43)
 at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:269)
 ... 38 more

 

解决方法:j2ee库中有个bean-validator.jar包,报错是此包引起的,找出来隔离/删掉。之后完美单元测试。

 

© 著作权归作者所有

共有 人打赏支持
卡卡天涯
粉丝 0
博文 1
码字总数 639
作品 0
广州
程序员
使用junit4来测试SSH

环境:基于SSH框架,外加3层结构(dao层、service层、action层) 1.针对action使用new一个对象 IndexAction action = new IndexAction(); 2.然后在@Before(如果测试方法之间没有数据交叉的部...

小姚 ⋅ 2012/11/12 ⋅ 0

单元测试基本

单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的。 单元测试不仅仅用来保证当前代码的正确性,更重要的是...

Reborn-D ⋅ 2016/11/28 ⋅ 0

分布式框架dubbo原理解析

dubbo原理解析 互联网架构演化 单一应用架构:网站初期,访问量小,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 分布式服务架构:当网站访问量越来越多,系统升级越来越频...

jonathan_loda ⋅ 2016/06/17 ⋅ 4

Spring中ClassPathXmlApplicationContext类的简单使用

一、简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例(对象).可以用: ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");RegisterDA......

知之为止 ⋅ 2016/10/10 ⋅ 0

spring容器加载xml配置文档说明

一:Spring中的几种容器都支持使用xml装配bean,包括: XmlBeanFactory , ClassPathXmlApplicationContext , FileSystemXmlApplicationContext , XmlWebApplicationContext 加载这些容器的......

石头哥哥 ⋅ 2013/02/25 ⋅ 0

Spring配置文件(2)配置方式

因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装入系统,这就需要利用Spring去动态加载某一位置下的配置文件,所以就总结 了下Spring中加载xml配置文件的方式,我总...

Reborn-D ⋅ 2015/12/31 ⋅ 0

JUnit4的简单使用教程

这里是一个用Eclipse的JUnit4教程: 首先,在项目下建立一个test包,然后再就是新建测试类,右键,选择'JUnit Test Case',如下图: 然后选择JUnit4,如下图示: 选择要测试的类的方法,这里选...

爪哇扫地僧 ⋅ 2013/01/01 ⋅ 0

【UT】2、从最基础的开始

本系列的UT基于使用率最普遍的JUnit4。目前最新版本是JUnit5,但其保持了对 JUnit4 的向后兼容性,所以不用担心所介绍的内容用不上。 假设你是一个还不认识UT的小伙伴,让我们从最基础的开始...

码术张 ⋅ 01/20 ⋅ 0

在Eclipse中使用JUnit4进行单元测试2

包含必要地Package 在测试类中用到了JUnit4框架,自然要把相应地Package包含进来。最主要地一个Package就是org.junit.。把它包含进来之后,绝大部分功能就有了。还有一句话也非常地重要“imp...

gavin_jin ⋅ 2012/02/10 ⋅ 0

Spring中使用classpath加载配置文件浅析

在应用Spring的工程中,使用class path的方式加载配置文件应该是最常用的做法,然而对大部分人来说,刚开始使用Spring时,几乎都碰到过加载配置文件失败的情况,除了配置上的错误外,很多时候...

WaitingAlone1985 ⋅ 2010/07/27 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

金山WPS发布了Linux WPS Office

导读 近日,金山WPS发布了Linux WPS Office中文社区版新版本,支持大部分主流Linux系统,功能更加完善,兼容性、稳定性大幅度提升。本次更新WPS将首次在Linux提供专业办公文件云存储服务,实...

问题终结者 ⋅ 昨天 ⋅ 0

springboot2输出metrics到influxdb

序 本文主要研究一下如何将springboot2的metrics输出到influxdb maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo......

go4it ⋅ 昨天 ⋅ 0

微信小程序 - 选择图片显示操作菜单

之前我分享过选择图片这个文章,但是我在实际开发测试使用中发现一个问题在使用 wx.chooseImage 选择照片显示出第一格是拍照,后面是相册里的图片。这种实现之前说过了,效果如下。 但是你从...

hello_hp ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部