spring - Could not instantiate bean : Constructor threw exception; nested exception is java.lang.NullPointerException -
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 object--------------*/ public void create(object obj){ session.save(obj); } /*-----------------to delete object--------------*/ public void delete(object obj){ session.delete(obj); } /*-----------------to update object--------------*/ public void update(object obj){ session.update(obj); } /*-----------------to find/get object--------------*/ public void get(object obj){ } protected sessionfactory getusermanagementsessionfactory() { return usermanagementsessionfactory; } protected void setusermanagementsessionfactory( sessionfactory usermanagementsessionfactory) { this.usermanagementsessionfactory = usermanagementsessionfactory; } } <?xml version="1.0" encoding="utf-8"?> <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"> <util:properties id="usermanagementhibernateproperties" location="classpath:usermanagement-hibernate.properties" /> <bean id="usermanagementsessionfactory" class="org.springframework.orm.hibernate4.localsessionfactorybean"> <property name="datasource" ref="usermanagementdatasource" /> <property name="configlocation" value="classpath:hibernate.cfg.usermanagement.xml" /> <property name="configurationclass" value="org.hibernate.cfg.annotationconfiguration" /> <property name="hibernateproperties" ref="usermanagementhibernateproperties" /> </bean> <jee:jndi-lookup id="usermanagementdatasource" jndi-name="java:usermanagementds" /> <bean id="city" class="com.ecom.data.entities.user.city"/> <bean id="state" class="com.ecom.data.entities.user.state"/> <bean id="country" class="com.ecom.data.entities.user.country"/> <bean id="pincodes" class="com.ecom.data.entities.user.pincodes"/> <bean id="notification" class="com.ecom.data.entities.notification.notifications"/> <bean id="notification_types" class="com.ecom.data.entities.notification.notification_types"/> <bean id="transactions" class="com.ecom.data.entities.transaction.transactions"/> <bean id="address" class="com.ecom.data.entities.user.address"/> <bean id="user_master" class="com.ecom.data.entities.user.user_master"/> <bean id="notification_channels" class="com.ecom.data.entities.notification.notification_channels"/> <bean id="notification_time" class="com.ecom.data.entities.notification.notification_time"/> <bean id="prefilled_response" class="com.ecom.data.entities.product.prefilled_response"/> <bean id="payment_options" class="com.ecom.data.entities.transaction.payment_options"/> <bean id="catagory" class="com.ecom.data.entities.product.catagory"/> <bean id="vendor" class="com.ecom.data.entities.product.vendor"/> <bean id="requester" class="com.ecom.data.entities.product.requester"/> <bean id="requirement_type" class="com.ecom.data.entities.product.requirement_type"/> <bean id="discount_offer_type" class="com.ecom.data.entities.product.discount_offer_type"/> <bean id="discount_offers" class="com.ecom.data.entities.product.discount_offers"/> <bean id="requirements" class="com.ecom.data.entities.product.requirements"/> <bean id="product_catalog" class="com.ecom.data.entities.product.product_catalog"/> <bean id="product_catalog_vendor" class="com.ecom.data.entities.product.product_catalog_vendor"/> <bean id="product_vendor_payment_option_location" class="com.ecom.data.entities.product.product_vendor_payment_option_location"/> <bean id="basedaoimpl" abstract="true" class="basedao.basedaoimpl"> </bean> <bean id="pincodedao" parent="basedaoimpl" class="com.ecom.data.access.user.pincodedao"> </bean> </beans> 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 call create method pindao.save(); } } ______________________________________________________________________ when run code junit maven gives error --------------------> severe: caught exception while allowing testexecutionlistener [org.springframework.test.context.support.dependencyinjectiontestexecutionlistener@1f2edd2] prepare test instance [com.ecom.data.access.user.piccodetest@1dbb27d] org.springframework.beans.factory.beancreationexception: error creating bean name 'pincodedao' defined in class path resource [applicationcontext-usermanagement-dao.xml]: instantiation of bean failed; nested exception org.springframework.beans.beaninstantiationexception: not instantiate bean class [com.ecom.data.access.user.pincodedao]: constructor threw exception; nested exception java.lang.nullpointerexception @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.instantiatebean(abstractautowirecapablebeanfactory.java:1011) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbeaninstance(abstractautowirecapablebeanfactory.java:957) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:490) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:461) @ 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:932) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:479) @ org.springframework.test.context.support.abstractgenericcontextloader.loadcontext(abstractgenericcontextloader.java:96) @ org.springframework.test.context.support.abstractgenericcontextloader.loadcontext(abstractgenericcontextloader.java:44) @ org.springframework.test.context.testcontext.buildapplicationcontext(testcontext.java:198) @ org.springframework.test.context.testcontext.getapplicationcontext(testcontext.java:233) @ org.springframework.test.context.support.dependencyinjectiontestexecutionlistener.injectdependencies(dependencyinjectiontestexecutionlistener.java:126) @ org.springframework.test.context.support.dependencyinjectiontestexecutionlistener.preparetestinstance(dependencyinjectiontestexecutionlistener.java:85) @ org.springframework.test.context.testcontextmanager.preparetestinstance(testcontextmanager.java:231) @ org.springframework.test.context.junit4.springjunit4classrunner.createtest(springjunit4classrunner.java:95) @ org.springframework.test.context.junit4.springjunit4classrunner.invoketestmethod(springjunit4classrunner.java:139) @ org.junit.internal.runners.junit4classrunner.runmethods(junit4classrunner.java:51) @ org.junit.internal.runners.junit4classrunner$1.run(junit4classrunner.java:44) @ org.junit.internal.runners.classroadie.rununprotected(classroadie.java:27) @ org.junit.internal.runners.classroadie.runprotected(classroadie.java:37) @ org.junit.internal.runners.junit4classrunner.run(junit4classrunner.java:42) @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50) @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:467) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:683) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:390) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:197) caused by: org.springframework.beans.beaninstantiationexception: not instantiate bean class [com.ecom.data.access.user.pincodedao]: constructor threw exception; nested exception java.lang.nullpointerexception @ org.springframework.beans.beanutils.instantiateclass(beanutils.java:163) @ org.springframework.beans.factory.support.simpleinstantiationstrategy.instantiate(simpleinstantiationstrategy.java:87) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.instantiatebean(abstractautowirecapablebeanfactory.java:1004) ... 30 more caused by: java.lang.nullpointerexception @ basedao.basedaoimpl.<init>(basedaoimpl.java:11) @ com.ecom.data.access.user.pincodedao.<init>(pincodedao.java:7) @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27) @ java.lang.reflect.constructor.newinstance(constructor.java:513) @ org.springframework.beans.beanutils.instantiateclass(beanutils.java:148) ... 32 more in code trying tu run entity have pincode entity getter setter , things want save data code in test scope
i using hibernate 4 spring 3 , maven 3
move session initialization below method
@postconstruct public void init(){ session = usermanagementsessionfactory.getcurrentsession(); }
Comments
Post a Comment