title: Could not instantiate bean : Constructor threw exception; nested exception is java.lang.NullPointerException
body: <pre><code>package baseDao;
  
  public interface BaseDao {
  
      public void create(Object obj);
      public void delete(Object obj);
      public void update(Object obj);
      public void get(Object obj);
  }
  
  package baseDao;
  import org.hibernate.Session;
  import org.hibernate.SessionFactory;
  import org.springframework.beans.factory.annotation.Autowired;
  
  
  public abstract  class BaseDaoImpl implements BaseDao {
  
      @Autowired
      private  SessionFactory usermanagementSessionFactory;
      private  Session session = usermanagementSessionFactory.getCurrentSession();
  
      /*-----------------To save an object--------------*/
  
      public void create(Object obj){
          session.save(obj);
      }
  
      /*-----------------To delete an object--------------*/
  
  
      public void delete(Object obj){
          session.delete(obj);
      }
  
      /*-----------------To update an object--------------*/
  
      public void update(Object obj){
          session.update(obj);
      }
  
      /*-----------------To find/Get an object--------------*/
  
      public void get(Object obj){
  
      }
  
  
  
      protected SessionFactory getUsermanagementSessionFactory() {
          return usermanagementSessionFactory;
      }
  
  
      protected void setUsermanagementSessionFactory(
              SessionFactory usermanagementSessionFactory) {
          this.usermanagementSessionFactory = usermanagementSessionFactory;
      }
  
  }
  
  
  
  
  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:jee="http://www.springframework.org/schema/jee"
      xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
          http://www.springframework.org/schema/util
          http://www.springframework.org/schema/util/spring-util-3.0.xsd
          http://www.springframework.org/schema/context 
          http://www.springframework.org/schema/context/spring-context.xsd
          http://www.springframework.org/schema/jee 
          http://www.springframework.org/schema/jee/spring-jee-3.0.xsd"&gt;
  
      &lt;util:properties id="usermanagementHibernateProperties" location="classpath:usermanagement-hibernate.properties" /&gt;
  
      &lt;bean id="usermanagementSessionFactory"
          class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"&gt;
          &lt;property name="dataSource" ref="usermanagementDataSource" /&gt;
          &lt;property name="configLocation" value="classpath:hibernate.cfg.usermanagement.xml" /&gt;
          &lt;property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /&gt;
          &lt;property name="hibernateProperties" ref="usermanagementHibernateProperties" /&gt;
      &lt;/bean&gt;
  
      &lt;jee:jndi-lookup id="usermanagementDataSource" jndi-name="java:usermanagementDS" /&gt;
  
      &lt;bean id="city" class="com.ecom.data.entities.user.City"/&gt;
      &lt;bean id="state" class="com.ecom.data.entities.user.State"/&gt;
      &lt;bean id="country" class="com.ecom.data.entities.user.Country"/&gt;
      &lt;bean id="pincodes" class="com.ecom.data.entities.user.Pincodes"/&gt;
      &lt;bean id="notification" class="com.ecom.data.entities.notification.Notifications"/&gt;
      &lt;bean id="notification_types" class="com.ecom.data.entities.notification.Notification_Types"/&gt;
      &lt;bean id="transactions" class="com.ecom.data.entities.transaction.Transactions"/&gt;
      &lt;bean id="address" class="com.ecom.data.entities.user.Address"/&gt;
      &lt;bean id="user_master" class="com.ecom.data.entities.user.User_Master"/&gt;
      &lt;bean id="notification_channels" class="com.ecom.data.entities.notification.Notification_Channels"/&gt;
      &lt;bean id="notification_time" class="com.ecom.data.entities.notification.Notification_Time"/&gt;
      &lt;bean id="prefilled_response" class="com.ecom.data.entities.product.Prefilled_Response"/&gt;
      &lt;bean id="payment_options" class="com.ecom.data.entities.transaction.Payment_Options"/&gt;
      &lt;bean id="catagory" class="com.ecom.data.entities.product.Catagory"/&gt;
      &lt;bean id="vendor" class="com.ecom.data.entities.product.Vendor"/&gt;
      &lt;bean id="requester" class="com.ecom.data.entities.product.Requester"/&gt;
      &lt;bean id="requirement_type" class="com.ecom.data.entities.product.Requirement_type"/&gt;
      &lt;bean id="discount_offer_type" class="com.ecom.data.entities.product.Discount_Offer_Type"/&gt;
      &lt;bean id="discount_offers" class="com.ecom.data.entities.product.Discount_Offers"/&gt;
      &lt;bean id="requirements" class="com.ecom.data.entities.product.Requirements"/&gt;
      &lt;bean id="product_catalog" class="com.ecom.data.entities.product.Product_Catalog"/&gt;
      &lt;bean id="product_catalog_vendor" class="com.ecom.data.entities.product.Product_Catalog_Vendor"/&gt;
      &lt;bean id="product_vendor_payment_option_location" class="com.ecom.data.entities.product.PRODUCT_VENDOR_PAYMENT_OPTION_LOCATION"/&gt;
  
      &lt;bean id="baseDaoImpl" abstract="true"  class="baseDao.BaseDaoImpl"&gt; &lt;/bean&gt;
      &lt;bean id="pincodeDao" parent="baseDaoImpl" class="com.ecom.data.access.user.PincodeDao"&gt; &lt;/bean&gt;
  
  
  &lt;/beans&gt;
  
  
  
  
  
  package com.ecom.data.access.user;
  
  import junit.framework.Assert;
  
  import org.junit.BeforeClass;
  import org.junit.Test;
  import org.junit.runner.RunWith;
  import org.springframework.test.context.ContextConfiguration;
  import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
  import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  
  import com.ecom.data.entities.user.Pincodes;
  
  
  @RunWith(SpringJUnit4ClassRunner.class)
  @ContextConfiguration(locations = {"/applicationContext-usermanagement-dao.xml",
          "/applicationContext-usermanagement-dao-test.xml" })
  public class PiccodeTest extends AbstractTransactionalJUnit4SpringContextTests {
  
  
      @BeforeClass
      public static void setup(){}
  
  
      @Test
      public void pincodeTest(){
  
          PincodeDao pinDao = new PincodeDao();   // object of dao class to call the create method
          pinDao.save();
  
      }
  
  }
  ______________________________________________________________________
  when i run this code with junit with maven it gives the error
  --------------------&gt;
  
  SEVERE: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@1f2edd2] to prepare test instance [com.ecom.data.access.user.PiccodeTest@1dbb27d]
  org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pincodeDao' defined in class path resource [applicationContext-usermanagement-dao.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.ecom.data.access.user.PincodeDao]: Constructor threw exception; nested exception is java.lang.NullPointerException
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1011)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:957)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
      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:626)
      at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
      at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:96)
      at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:44)
      at org.springframework.test.context.TestContext.buildApplicationContext(TestContext.java:198)
      at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:233)
      at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:126)
      at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:85)
      at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:231)
      at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:95)
      at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:139)
      at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
      at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
      at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
      at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
      at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
      at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
      at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
      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: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.ecom.data.access.user.PincodeDao]: Constructor threw exception; nested exception is java.lang.NullPointerException
      at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
      at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1004)
      ... 30 more
  Caused by: java.lang.NullPointerException
      at baseDao.BaseDaoImpl.&lt;init&gt;(BaseDaoImpl.java:11)
      at com.ecom.data.access.user.PincodeDao.&lt;init&gt;(PincodeDao.java:7)
      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 org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
      ... 32 more
  </code></pre>
  
  <p>in this code i am trying tu run my entity 
  i have a pincode entity with getter setter and all things now i just want to save the data with this code in my test scope</p>
  
  <p>i am using hibernate 4  spring 3 and maven 3 </p>