当前位置: 代码迷 >> J2EE >> mybatis+spring 整合有关问题
  详细解决方案

mybatis+spring 整合有关问题

热度:211   发布时间:2016-04-22 01:39:08.0
mybatis+spring 整合问题
大家好 问题贴上
Java code
 public class TestSpringMyBatis extends TestCase {            private String[] configFiles = {"applicationContext-mybatis.xml","applicationContext-services.xml"};        private ApplicationContext context =  new ClassPathXmlApplicationContext(configFiles);        public void testFilm(){                        FilmService filmService = (FilmService)context.getBean("filmService");    


测试运行时 提示错误码
Java code
junit.framework.AssertionFailedError: Exception in constructor: testFilm (org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [applicationContext-mybatis.xml]: Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeException    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:293)    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)    at com.dlsw.test.TestSpringMyBatis.<init>(TestSpringMyBatis.java:24)    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)    at junit.framework.TestSuite.createTest(TestSuite.java:54)    at junit.framework.TestSuite.addTestMethod(TestSuite.java:280)    at junit.framework.TestSuite.<init>(TestSuite.java:140)    at org.junit.internal.runners.JUnit38ClassRunner.<init>(JUnit38ClassRunner.java:71)    at org.junit.internal.builders.JUnit3Builder.runnerForClass(JUnit3Builder.java:14)    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:29)    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:40)    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:30)    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)    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: java.lang.reflect.MalformedParameterizedTypeException    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:42)    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:35)    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:77)    at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:86)    at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:122)    at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)    at sun.reflect.generics.visitor.Reifier.visitArrayTypeSignature(Reifier.java:141)    


数据源配置是
Java code
<?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:aop="http://www.springframework.org/schema/aop"            xmlns:p="http://www.springframework.org/schema/p"            xmlns:tx="http://www.springframework.org/schema/tx"            xmlns:context="http://www.springframework.org/schema/context"            xsi:schemaLocation="                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd                http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">                        <context:property-placeholder location="classpath:jdbc.properties"/>                                                                                  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">                   <property name="dataSource" ref="dataSource" />            </bean>                <context:component-scan base-package="com.dlsw.service" />                    <context:annotation-config />                    <tx:annotation-driven />                <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">            <property name="dataSource" ref="dataSource" />            <property name="configLocation" value="classpath:mybatis-config.xml" />        </bean>       <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">                                   <property name="basePackage" value="com.dlsw.dao" />                   </bean>    </beans>


是那里有错了 ,请大家帮忙分析一下。谢谢

------解决方案--------------------
CSS code
Thrown when a semantically malformed parameterized type is encountered by a reflective method that needs to instantiate it. For example, if the number of type arguments to a parameterized type is wrong.
  相关解决方案