Note that there are some explanatory texts on larger screens.

plurals
  1. POadding datasource to a Jdbctemplate bean throws exception
    primarykey
    data
    text
    <p>I'm trying to learn spring and bean configuration.</p> <p>I'm going to have several classes that are gonna DB related functions so each one of them is gonna need to have a JdbcTemplate class. because of that I want to create a bean configuration that will inject a singleton JdbcTemplate class to each one of my DB related classes.</p> <p>I created the following bean configuration.</p> <pre><code>&lt;bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"&gt; &lt;property name="driverClassName" value="com.mysql.jdbc.Driver" /&gt; &lt;property name="url" value="jdbc:mysql://localhost:3306/foo"/&gt; &lt;property name="username" value="root"&gt;&lt;/property&gt; &lt;property name="password" value="password"&gt;&lt;/property&gt; &lt;property name="validationQuery" value="SELECT 1" /&gt; &lt;property name="testOnBorrow" value="true" /&gt; &lt;property name="testWhileIdle" value="true" /&gt; &lt;property name="initialSize" value="5" /&gt; &lt;/bean&gt; &lt;bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" scope="singleton"&gt; &lt;constructor-arg ref="dataSource"&gt;&lt;/constructor-arg&gt; &lt;/bean&gt; </code></pre> <p>the problem starts when I add the <code>constructor-args</code> parameter to the jdbcTemplate. jdbctemplate needs to receive the datasource as a parameter to it's constructor. but when I add that property and I try to execute my application this is the exception that I'm getting:</p> <pre><code>java.lang.IncompatibleClassChangeError: class org.springframework.core.LocalVariableTableParameterNameDiscoverer$ParameterNameDiscoveringVisitor has interface org.springframework.asm.ClassVisitor as super class java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:791) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) org.apache.catalina.loader.WebappClassLoader.findClassInternal(Unknown Source) org.apache.catalina.loader.WebappClassLoader.findClass(Unknown Source) org.apache.catalina.loader.WebappClassLoader.loadClass(Unknown Source) org.apache.catalina.loader.WebappClassLoader.loadClass(Unknown Source) org.springframework.core.LocalVariableTableParameterNameDiscoverer.inspectClass(LocalVariableTableParameterNameDiscoverer.java:112) org.springframework.core.LocalVariableTableParameterNameDiscoverer.getParameterNames(LocalVariableTableParameterNameDiscoverer.java:85) org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:193) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1045) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:949) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init&gt;(ClassPathXmlApplicationContext.java:139) org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init&gt;(ClassPathXmlApplicationContext.java:83) </code></pre> <p>what am I missing ?</p> <p>thank you!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload