Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring Transaction给出了JVMCFRE003坏的主版本;class=javax/inject/Provider,偏移量=6 err_Java_Spring_Hibernate_Spring Transactions - Fatal编程技术网

Spring Transaction给出了JVMCFRE003坏的主版本;class=javax/inject/Provider,偏移量=6 err

Spring Transaction给出了JVMCFRE003坏的主版本;class=javax/inject/Provider,偏移量=6 err,java,spring,hibernate,spring-transactions,Java,Spring,Hibernate,Spring Transactions,我正试图了解spring声明性事务是如何工作的。为此,我创建了一个示例应用程序。以下是有关该应用程序的详细信息: spring配置xml: <context:component-scan base-package="*" /> <context:property-placeholder location="properties/database.properties" order="1" ignore-unresolvable="true" ignore-resource-n

我正试图了解spring声明性事务是如何工作的。为此,我创建了一个示例应用程序。以下是有关该应用程序的详细信息: spring配置xml:

<context:component-scan base-package="*" />

<context:property-placeholder location="properties/database.properties"
order="1" ignore-unresolvable="true" ignore-resource-not-found="false" />
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="${jdbc.maxActive}" />
<property name="maxIdle" value="#{new Integer('1')}" />
<property name="minIdle" value="#{new Integer('1')}" />
<!-- <property name="maxActive" value="#{T(java.lang.Integer).parseInt(${jdbc.maxActive})}" /> -->
<property name="defaultAutoCommit" value="${jdbc.defaultAutoCommit}" />
<property name="maxWait" value="#{new Integer('10000')}" />
<property name="removeAbandoned" value="#{new Boolean('true')}" />
<property name="logAbandoned" value="#{new Boolean('true')}" />
<property name="removeAbandonedTimeout" value="#{new Integer('55')}"/>
<property name="validationQuery" value="SELECT 1"/>
<property name="jdbcInterceptors"
value="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer;org.apache.tomcat.jdbc.pool.interceptor.StatementDecoratorInterceptor" />

</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

<property name="dataSource">
<ref bean="dataSource" />
</property>

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>

<property name="annotatedClasses">
<list>
<value>org.satya.springhibernate.model.Stock</value>
<value>org.satya.springhibernate.model.AuditLog</value>
<value>org.satya.springhibernate.model.Account</value>
<value>org.satya.springhibernate.model.AuditLog</value>
<value>com.javahonk.di.bean.Person</value>
</list>
</property>
<property name="packagesToScan" value="org.satya.springhibernate.model" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />

<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean> 
**我的主要申请**

   final AbstractApplicationContext applicationContext = new ClassPathXmlApplicationContext(  
                    "classpath:/DataSource.xml");  

            IPersonDAO personDAO = applicationContext.getBean("personDAO",  
                    IPersonDAO.class);  
            Person person = new Person("Java", "Honk", "John st.", "NY", "NY",  
                    "USA");  

            // Insert user to the table 3 times:  
            for (int i = 0; i < 3; i++) {  
                personDAO.insertUser(person);  
            }  
谢谢,
Satya

这与Spring和事务无关。您的类路径中有一个jar,它不适合您正在使用的java版本。您好,谢谢您的回复。我怎样才能知道是哪个jar出了问题。包含类的那个。嗨,Deinum,我使用的是org.springframework.jdbc.datasource.DataSourceTransactionManager,类在spring-jdbc-3.0.5.RELEASE.jar中。哪个版本的jar适合这个,我使用的是jdk 6。你真的读过stacktrace吗<代码>JVMCFRE003不良主版本;class=javax/inject/Provider,在java.lang.ClassLoader.defineClass(ClassLoader.java:265)处偏移量=6。。。正如我所说的,它与spring无关,只是基本java。
   final AbstractApplicationContext applicationContext = new ClassPathXmlApplicationContext(  
                    "classpath:/DataSource.xml");  

            IPersonDAO personDAO = applicationContext.getBean("personDAO",  
                    IPersonDAO.class);  
            Person person = new Person("Java", "Honk", "John st.", "NY", "NY",  
                    "USA");  

            // Insert user to the table 3 times:  
            for (int i = 0; i < 3; i++) {  
                personDAO.insertUser(person);  
            }  
Jan 14, 2015 11:26:59 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@29d629d6: startup date [Wed Jan 14 11:26:59 IST 2015]; root of context hierarchy
Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=javax/inject/Provider, offset=6
    at java.lang.ClassLoader.defineClass(ClassLoader.java:265)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:493)
    at java.net.URLClassLoader.access$300(URLClassLoader.java:64)
    at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:892)
    at java.security.AccessController.doPrivileged(AccessController.java:284)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:414)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:300)