简体   繁体   English

创建名称为“ mySessionFactory”的bean初始化bean时出错; 嵌套异常为MalformedParameterizedTypeException

[英]Error creating bean with name 'mySessionFactory' initialization of bean failed; nested exception is MalformedParameterizedTypeException

I'm trying to configure spring with hibernate 4. But I keep getting the 我正在尝试使用休眠4配置spring。

SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeException
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.reflect.MalformedParameterizedTypeException
    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:60)
    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.(ParameterizedTypeImpl.java:53)
    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:95)
    at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:105)
    at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:140)
    at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
    at sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:100)
    at java.lang.Class.getGenericInterfaces(Class.java:814)
    at com.sun.beans.TypeResolver.prepare(TypeResolver.java:278)
    at com.sun.beans.TypeResolver.(TypeResolver.java:243)
    at com.sun.beans.TypeResolver.resolve(TypeResolver.java:172)
    at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:93)
    at java.beans.FeatureDescriptor.getParameterTypes(FeatureDescriptor.java:387)
    at java.beans.MethodDescriptor.setMethod(MethodDescriptor.java:114)
    at java.beans.MethodDescriptor.(MethodDescriptor.java:72)
    at java.beans.MethodDescriptor.(MethodDescriptor.java:56)
    at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1150)
    at java.beans.Introspector.getBeanInfo(Introspector.java:433)
    at java.beans.Introspector.getBeanInfo(Introspector.java:174)
    at org.springframework.beans.CachedIntrospectionResults.(CachedIntrospectionResults.java:220)
    at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:144)
    at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:252)
    at org.springframework.beans.BeanWrapperImpl.getPropertyDescriptorInternal(BeanWrapperImpl.java:282)
    at org.springframework.beans.BeanWrapperImpl.isWritableProperty(BeanWrapperImpl.java:333)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1247)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    ... 29 more

Feb 22, 2014 12:03:13 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: 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 'mySessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.reflect.MalformedParameterizedTypeException
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.reflect.MalformedParameterizedTypeException
    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:60)
    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.(ParameterizedTypeImpl.java:53)
    at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:95)
    at sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:105)
    at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:140)
    at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
    at sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:100)
    at java.lang.Class.getGenericInterfaces(Class.java:814)
    at com.sun.beans.TypeResolver.prepare(TypeResolver.java:278)
    at com.sun.beans.TypeResolver.(TypeResolver.java:243)
    at com.sun.beans.TypeResolver.resolve(TypeResolver.java:172)
    at com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:93)
    at java.beans.FeatureDescriptor.getParameterTypes(FeatureDescriptor.java:387)
    at java.beans.MethodDescriptor.setMethod(MethodDescriptor.java:114)
    at java.beans.MethodDescriptor.(MethodDescriptor.java:72)
    at java.beans.MethodDescriptor.(MethodDescriptor.java:56)
    at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1150)
    at java.beans.Introspector.getBeanInfo(Introspector.java:433)
    at java.beans.Introspector.getBeanInfo(Introspector.java:174)
    at org.springframework.beans.CachedIntrospectionResults.(CachedIntrospectionResults.java:220)
    at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:144)
    at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:252)
    at org.springframework.beans.BeanWrapperImpl.getPropertyDescriptorInternal(BeanWrapperImpl.java:282)
    at org.springframework.beans.BeanWrapperImpl.isWritableProperty(BeanWrapperImpl.java:333)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1247)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    ... 29 more

I am using following jar files 我正在使用以下jar文件

antlr-2.7.7.jar
commons-dbcp-1.4.jar
commons-logging-1.1.3.jar
commons-pool-1.5.jar
cruze-1.0.10.jar
dom4j-1.6.1.jar
hibernate-commons-annotations-4.0.4.Final.jar
hibernate-core-4.3.0.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
jandex-1.1.0.Final.jar
javassist-3.18.1-GA.jar
javax.inject-1.jar
jboss-logging-3.1.3.GA.jar
jboss-logging-annotations-1.2.0.Beta1.jar
jboss-transaction-api_1.2_spec-1.0.0.Final.jar
mysql-connector-java-5.1.6-bin.jar
primefaces-4.0.jar
spring-2.5.6.jar
spring-data-commons-core-1.4.1.RELEASE.jar
spring-orm-4.0.0.RELEASE.jar

I am not using Maven or Ant. 我没有使用Maven或Ant。

My applicationContext.xml file is 我的applicationContext.xml文件是

<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="
        http://www.springframework.org/schema/beans    
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.0.xsd">


    <bean id="cab" class="com.beans.Cab" scope="session" autowire="byType"></bean>
    <bean id="isBean" class="assets.impl.SpringBean" autowire="byType"></bean>


    <bean id="myDataSource" class = "org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/rendacab?useUnicode=true"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>


    <bean id="mySessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="myDataSource"/>
        <property name="packagesToScan" value="com.rent.cab.entity"/>
        <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">create</prop>
        </props>
        </property>
    </bean>

</beans>

I've searched other forums including stackoverflow but solutions given there were not helpful to me. 我搜索了其他论坛,包括stackoverflow,但给出的解决方案对我没有帮助。 I keep getting same exception again and again. 我不断收到同样的异常。

Please help me out Regards 请帮帮我

You are mixing spring versions: 您正在混合弹簧版本:

  1. Spring 2.5.6 春季2.5.6
  2. Spring-ORM 4.0.0 Spring-ORM 4.0.0

Like the previously discussed here: 就像之前在这里讨论的一样:

http://forum.spring.io/forum/spring-projects/data/66790-localsessionfactorybean-malformedparameterizedtypeexception http://forum.spring.io/forum/spring-projects/data/66790-localsessionfactorybean-malformedparameterizedtypeexception

Correct version of Spring and Hibernate and required dependencies...Exception due to dependencies 正确的Spring和Hibernate版本以及所需的依赖项...依赖项导致的异常

It throw a MalformedParameterizedTypeException . 它抛出MalformedParameterizedTypeException

You must upgrade your spring (core) dependencies to >=3.1.x and spring-orm >=3.1.x (3.0.x does not support hibernate 4). 您必须将spring(核心)依赖项升级到>=3.1.x和spring-orm >=3.1.x (3.0.x不支持休眠4)。

I done my test using the following dependencies: 我使用以下依赖项完成了测试:

FAILED: (MalformedParameterizedTypeException) 失败:(MalformedParameterizedTypeException)

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>2.5.6</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.3.0.Final</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.29</version>
    </dependency>
</dependencies>

SUCCEED: 成功:

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.1.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.3.0.Final</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.29</version>
    </dependency>
</dependencies>

PS: on succeed i'm using the minimal spring core version but if you will used spring orm 4 you may use spring core 4 too. PS:成功后,我使用的是最小弹簧芯版本,但是如果您将使用Spring Orm 4,则也可以使用弹簧芯4。

You're using: 您正在使用:

spring-orm-4.0.0.RELEASE.jar
spring-2.5.6.jar

You need spring-4.0.0.RELEASE.jar (although I think it may be called spring-core by the time you get to 4) 您需要spring-4.0.0.RELEASE.jar(尽管我认为到4时它可能被称为spring-core)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 创建名为“_filterChainProxy”的 bean 时出错:bean 初始化失败; 嵌套异常是 java.lang.NullPointerException - Error creating bean with name '_filterChainProxy': Initialization of bean failed; nested exception is java.lang.NullPointerException 创建名为&#39;sessionFactory&#39;的bean时出错:MalformedParameterizedTypeException - Error creating bean with name 'sessionFactory' : MalformedParameterizedTypeException 创建名称为“ transactionManagerPostProcessor”的bean时出错:初始化bean失败 - Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed 创建名为“...RedisHttpSessionConfiguration”的 bean 时出错:bean 初始化失败 - Error creating bean with name '...RedisHttpSessionConfiguration': Initialization of bean failed 创建名称为&#39;userRepository&#39;的bean时出错:实例化bean失败; 嵌套的异常是org.springframework.beans.BeanInstantiationException - Error creating bean with name 'userRepository': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException 启动Spring应用程序时出错:bean初始化失败; 嵌套的异常是AbstractMethodError - Error starting a Spring application: Initialization of bean failed; nested exception is AbstractMethodError 使用名称创建 bean 时出错:查找方法解析失败; 嵌套异常是 IllegalStateException: Failed to introspect Class from ClassLoader - Error creating bean with name: Lookup method resolution failed; nested exception is IllegalStateException: Failed to introspect Class from ClassLoader 在 class 路径资源中创建名称为“entityManagerFactory”的 bean 时出错,bean 初始化失败,找不到表 - Error creating bean with name 'entityManagerFactory' defined in class path resource, Initialization of bean failed,Table not found 创建名为“baseController”的 bean 时出错:调用 init 方法失败; 嵌套异常是 java.lang.NullPointerException - Error creating bean with name 'baseController': Invocation of init method failed; nested exception is java.lang.NullPointerException 上下文初始化失败:创建 bean 时出错 - Context initialization failed : Error creating bean
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM