title: Error, Whats missing in Spring NamedJdbcTemplate
body: <p>I have configured my code to use the NamedParameterJdbcTemplate,</p>
  
  <p><strong>spring.xml</strong></p>
  
  <pre><code>&lt;bean id="netezzaDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; 
      &lt;property name="driverClassName" value="org.netezza.Driver" /&gt;
      &lt;property name="url" value="jdbc:netezza://server/DB" /&gt;
      &lt;property name="username" value="user" /&gt;
      &lt;property name="password" value="password" /&gt;
   &lt;/bean&gt; 
  
  &lt;bean id="netezzaJDBCTemplate" class="org.springframework.jdbc.core.JdbcTemplate"&gt;
      &lt;property name="dataSource" ref="netezzaDataSource"/&gt;
  &lt;/bean&gt;    
  </code></pre>
  
  <p><strong>DAO</strong></p>
  
  <pre><code>@Component
  public class EventDAO 
  {
      @Autowired
      private DataSource netezzaDataSource;
      @Autowired
      private NamedParameterJdbcTemplate netezzaNamedTemplate;
  
      public NamedParameterJdbcTemplate getNetezzaNamedTemplate() 
      {
          return netezzaNamedTemplate;
      }
  
      public void setNetezzaNamedTemplate(NamedParameterJdbcTemplate netezzaNamedTemplate) 
      {
          this.netezzaNamedTemplate = netezzaNamedTemplate;
      }
      ..........
  }
  </code></pre>
  
  <p>But it fails to autowire and throws an exception. Am I missing something?</p>
  
  <p><strong>Exception Stack</strong></p>
  
  <pre><code>Feb 25, 2014 10:56:48 AM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
  INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@336bc75c: startup date [Tue Feb 25 10:56:48 EST 2014]; root of context hierarchy
  Feb 25, 2014 10:56:48 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
  INFO: Loading XML bean definitions from class path resource [spring-local-dev.xml]
      Feb 25, 2014 10:56:49 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
      INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5fc7a9de: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,eventDAO,mySQLDataSource,mySQLJDBCTemplate,netezzaDataSource,netezzaJDBCTemplate,netezzaNamedTemplate,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy
      Feb 25, 2014 10:56:49 AM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
      INFO: Loaded JDBC driver: com.mysql.jdbc.Driver
      Feb 25, 2014 10:56:49 AM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
      INFO: Loaded JDBC driver: org.netezza.Driver
      Feb 25, 2014 10:56:49 AM org.springframework.beans.factory.support.DefaultListableBeanFactory destroySingletons
      INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5fc7a9de: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,eventDAO,mySQLDataSource,mySQLJDBCTemplate,netezzaDataSource,netezzaJDBCTemplate,netezzaNamedTemplate,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy
      Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'eventDAO': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate com.omnitracs.fra.dao.EventDAO.netezzaNamedTemplate; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'netezzaNamedTemplate' defined in class path resource [spring-local-dev.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.&lt;init&gt;()
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:288)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1116)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
          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.&lt;init&gt;(ClassPathXmlApplicationContext.java:139)
          at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init&gt;(ClassPathXmlApplicationContext.java:83)
      at com.omnitracs.fra.main.CriticalEventMain.main(CriticalEventMain.java:21)
      Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate com.omnitracs.fra.dao.EventDAO.netezzaNamedTemplate; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'netezzaNamedTemplate' defined in class path resource [spring-local-dev.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.&lt;init&gt;()
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514)
          at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285)
      ... 13 more
      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'netezzaNamedTemplate' defined in class path resource [spring-local-dev.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.&lt;init&gt;()
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1007)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:953)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:912)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:855)
          at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770)
          at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:486)
          ... 15 more
      Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.&lt;init&gt;()
          at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:83)
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1000)
          ... 26 more
      Caused by: java.lang.NoSuchMethodException: org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.&lt;init&gt;()
      at java.lang.Class.getConstructor0(Unknown Source)
      at java.lang.Class.getDeclaredConstructor(Unknown Source)
          at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78)
      ... 27 more
  </code></pre>