java - org.springframework.beans.factory.BeanCreationException: -


i getting following exception,please resolve ?

org.springframework.beans.factory.beancreationexception: error creating bean name 'usercontroller': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: private com.dao.userdao com.controller.usercontroller.userdao; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'userdaoimpl': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: private org.hibernate.sessionfactory com.dao.userdaoimpl.sessionfactory; nested exception org.springframework.beans.factory.nosuchbeandefinitionexception: no matching bean of type [org.hibernate.sessionfactory] found dependency: expected @ least 1 bean qualifies autowire candidate dependency. dependency annotations: {@org.springframework.beans.factory.annotation.autowired(required=true)}     org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor.postprocesspropertyvalues(autowiredannotationbeanpostprocessor.java:287)     org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1106)     org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:517)     org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:456)     org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:294)     org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:225)     org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:291)     org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:193)     org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:609)     org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:918)     org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:469)     org.springframework.web.servlet.frameworkservlet.configureandrefreshwebapplicationcontext(frameworkservlet.java:631)     org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:588)     org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:645)     org.springframework.web.servlet.frameworkservlet.initwebapplicationcontext(frameworkservlet.java:508)     org.springframework.web.servlet.frameworkservlet.initservletbean(frameworkservlet.java:449)     org.springframework.web.servlet.httpservletbean.init(httpservletbean.java:133)     javax.servlet.genericservlet.init(genericservlet.java:160)     org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502)     org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:100)     org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:953)     org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:408)     org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1041)     org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:603)     org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310)     java.util.concurrent.threadpoolexecutor$worker.runtask(unknown source)     java.util.concurrent.threadpoolexecutor$worker.run(unknown source)     java.lang.thread.run(unknown source) root cause  org.springframework.beans.factory.beancreationexception: not autowire field: private com.dao.userdao com.controller.usercontroller.userdao; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'userdaoimpl': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: private org.hibernate.sessionfactory com.dao.userdaoimpl.sessionfactory; nested exception org.springframework.beans.factory.nosuchbeandefinitionexception: no matching bean of type [org.hibernate.sessionfactory] found dependency: expected @ least 1 bean qualifies autowire candidate dependency. dependency annotations: {@org.springframework.beans.factory.annotation.autowired(required=true)}     org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$autowiredfieldelement.inject(autowiredannotationbeanpostprocessor.java:506)     org.springframework.beans.factory.annotation.injectionmetadata.inject(injectionmetadata.java:87)     org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor.postprocesspropertyvalues(autowiredannotationbeanpostprocessor.java:284)     org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1106)     org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:517)     org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:456)     org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:294)     org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:225)     org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:291)     org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:193)     org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:609)     org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:918)     org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:469)     org.springframework.web.servlet.frameworkservlet.configureandrefreshwebapplicationcontext(frameworkservlet.java:631)     org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:588)     org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:645)     org.springframework.web.servlet.frameworkservlet.initwebapplicationcontext(frameworkservlet.java:508)     org.springframework.web.servlet.frameworkservlet.initservletbean(frameworkservlet.java:449)     org.springframework.web.servlet.httpservletbean.init(httpservletbean.java:133)     javax.servlet.genericservlet.init(genericservlet.java:160)     org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502)     org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:100)     org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:953)     org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:408)     org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1041)     org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:603)     org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310)     java.util.concurrent.threadpoolexecutor$worker.runtask(unknown source)     java.util.concurrent.threadpoolexecutor$worker.run(unknown source)     java.lang.thread.run(unknown source) 

respective java codes below - userdao

package com.dao; import java.util.list; import com.entity.userdetails; public interface userdao {     public list<userdetails> getuserprofiledetails();     public int saveuserdetails(userdetails userdetails);     public userdetails authenticateuser(string email,string password);     public void closesessionobjects(); } 

userdaoimpl

package com.dao; import java.util.list; import org.apache.log4j.logger; import org.hibernate.query; import org.hibernate.session; import org.hibernate.sessionfactory; import org.hibernate.transaction; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.component; import org.springframework.transaction.annotation.transactional;  import com.dao.userdao; import com.entity.userdetails;   @component @transactional(readonly = true) public class userdaoimpl implements userdao {     private static logger logger = logger.getlogger(userdaoimpl.class);     @autowired     private sessionfactory sessionfactory;     session session = null;     private void assignsessionlocalvariable(){         if(session == null || !session.isopen()){             try{                                 session = sessionfactory.opensession();             }catch(exception e){session = null;}         }     }      @override     public list<userdetails> getuserprofiledetails() {         list<userdetails> details=null;         if(session!=null){             try{                     query query = session.createquery("from user");                     details = query.list();             }catch(exception e)             {                 logger.error("########### exception occured ########## "+e+" ");             }         }         return details;     }     @override     public int saveuserdetails(userdetails userdetails){         int saved=1;         assignsessionlocalvariable();         try{                 transaction tx=session.begintransaction();                 session.save(userdetails);                 tx.commit();                 saved=0;                 logger.info("#### details saved successfuly #####");         }catch(exception e){                 logger.error("### exception occured in userdaoimpl class #### "+e+"");         }         return saved;     }       @override     public userdetails authenticateuser(string email, string pwd) {         // todo auto-generated method stub         system.out.println("##### userdaoimple authenticateuser started #####");         assignsessionlocalvariable();         logger.info("### authentication of user in progress ####");         userdetails users = null;         if(session!=null){             try{                 query qry = session.createquery ("from user hu hu.email = :email , hu.password = :password");                 qry.setparameter ("email", email);                 qry.setparameter ("password", pwd);                 qry.setmaxresults(1);                 users = (userdetails)qry.uniqueresult();             }catch(exception e){                 users = null;                 system.out.println("userdaoimpl exception in getting unique result["+e+"] ");                 logger.error("userdaoimpl exception in getting unique result["+e+"]");             }                    }//if(session!=null)         return users;            }      public void closesessionobjects(){         if(null != session) session.clear();//close();         //if(null != sessionfactory) sessionfactory.close();     } } 

useddetails.java

package com.entity; import java.util.date; import javax.persistence.column; import javax.persistence.entity; import javax.persistence.id; import javax.persistence.table; import javax.persistence.temporal; import javax.persistence.temporaltype;  @entity @table(name="user",catalog="test") public class userdetails implements java.io.serializable{      private int id;     private string firstname;     private string lastname;     private int age;     private date creationtime;     private date lastmodtime;     private string password;     private string email;       public userdetails(){}      public  userdetails(string email){         this.email=email;     }      @id     @column(name="id", unique = true, nullable = false)      public int getid() {         return id;     }      public void setid(int id){         this.id = id;     }      @column(name="first_name")     public string getfirstname() {         return firstname;     }     public void setfirstname(string firstname) {         this.firstname = firstname;     }      @column(name="last_name")     public string getlastname() {         return lastname;     }     public void setlastname(string lastname) {         this.lastname = lastname;     }      @column(name="age")     public int getage() {         return age;     }     public void setage(int age) {         this.age = age;     }      @temporal(temporaltype.timestamp)     @column(name = "creation_time", nullable = false, length = 19)     public date getcreationtime() {         return creationtime;     }     public void setcreationtime(date creationtime) {         this.creationtime = creationtime;     }      @temporal(temporaltype.timestamp)     @column(name = "last_mod_time", nullable = false, length = 19)     public date getlastmodtime() {         return lastmodtime;     }     public void setlastmodtime(date lastmodtime) {         this.lastmodtime = lastmodtime;     }      @column(name="password")     public string getpassword() {         return password;     }      public void setpassword(string password) {         this.password = password;     }      @column(name="email")     public string getemail() {         return email;     }      public void setemail(string email) {         this.email = email;     } } 

usercontroller.java

package com.controller;  import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpsession; import java.util.date; import org.apache.log4j.logger; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.servlet.modelandview;  import com.dao.userdao; import com.entity.userdetails;   @controller public class usercontroller {     private static logger logger = logger.getlogger(usercontroller.class);     string errforward = "user.error", forward = null;     @autowired    userdao userdao;     @autowired    userdetails ud=null;;     @requestmapping("/register")    public modelandview registerpage() {        logger.info("## registration page forward #####");        return new modelandview("user.registration");     }     @requestmapping("/registeruser")    public modelandview registeruser(httpservletrequest request) {        logger.info("### inside registeration controller  ####");            int issave=0;            date creation_time=null,lastmodtime=null;            string fname=request.getparameter("fname");            fname=(fname.equals(""))?"":fname.trim();            string lname=request.getparameter("lname");            lname=(lname.equals(""))?"":lname.trim();            int age=integer.parseint(request.getparameter("age"));            age=(age==0)?0:age;            string email=request.getparameter("email");            email=(email.equals(""))?"":email.trim();            string pswd=request.getparameter("pswd");            pswd=(pswd.equals(""))?"":pswd.trim();             date date=new date();            //creation_time=dt.getdate();             ud.setfirstname(fname);            ud.setlastname(lname);            ud.setage(age);            ud.setpassword(pswd);            ud.setemail(email);            ud.setcreationtime(creation_time);            ud.setlastmodtime(lastmodtime);            try{                issave=userdao.saveuserdetails(ud);                if (issave==0){                     system.out.println("%%% saved user ::::"+issave);                    logger.info("successfully saved data :::"+issave);                    forward="user.registrationusersuccess";                }            }catch(exception e){                logger.error("##### error while saving use details #####"+e);                return new modelandview(forward);            }          return new modelandview(forward);    }         @requestmapping("/login")        public modelandview addstudent(httpservletrequest request) {            logger.info("### login in  progress  ####");            string email=request.getparameter("email");            email=(email.equals(""))?"":email.trim();            string pswd=request.getparameter("pswd");            pswd=(pswd.equals(""))?"":pswd.trim();            string login=request.getparameter("login");             login = (null != login)?login:"";             logger.info("### user login ::: ["+email+"]:::: ######");            httpsession httpsession = request.getsession();             if(null!=login)ud= userdao.authenticateuser(email, pswd);             if(null!=ud){                 httpsession.setattribute("isactiveuser", ud);                 forward = "user.profile";             }else forward = errforward;             return new modelandview(forward);        } } 

web.xml

<?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="webapp_id" version="2.4">   <display-name>spring user</display-name>   <servlet>     <servlet-name>user</servlet-name>     <servlet-class>            org.springframework.web.servlet.dispatcherservlet     </servlet-class>     <load-on-startup>1</load-on-startup>   </servlet>   <servlet-mapping>     <servlet-name>user</servlet-name>      <url-pattern>/</url-pattern>   </servlet-mapping>   <welcome-file-list>                <welcome-file>/jsp/home.jsp</welcome-file>            </welcome-file-list>        <session-config>                  <session-timeout>60</session-timeout>          </session-config>  </web-app> 

user-servlet.xml

<?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:context="http://www.springframework.org/schema/context"     xmlns:mvc="http://www.springframework.org/schema/mvc"     xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">      <mvc:annotation-driven/>     <context:annotation-config/>    <context:component-scan base-package="com.controller" />    <context:component-scan base-package="com.dao" />    <context:component-scan base-package="com.entity" />     <!-- title defining -->     <bean id="viewresolver"         class="org.springframework.web.servlet.view.urlbasedviewresolver">         <property name="viewclass">             <value>                 org.springframework.web.servlet.view.tiles2.tilesview             </value>         </property>     </bean>     <!-- defining title file location -->     <bean id="tilesconfigurer"  class="org.springframework.web.servlet.view.tiles2.tilesconfigurer">         <property name="definitions">             <list>                 <value>/web-inf/tiles.xml</value>             </list>         </property>     </bean>    <import resource="db-config.xml" />  </beans> 

db-config.xml

<?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:context="http://www.springframework.org/schema/context"     xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"     xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">     <bean id="dbpropertyconfigurer" class="org.springframework.beans.factory.config.propertyplaceholderconfigurer">         <property name="locations">             <list>                 <value>/web-inf/configuration.properties</value>             </list>         </property>     </bean>     <!-- database properties -->     <bean id="datasource"         class="com.mchange.v2.c3p0.combopooleddatasource" destroy-method="close"                 p:driverclass="${jdbc.driver.classname}"                 p:jdbcurl="${jdbc.url}"                 p:user="${jdbc.username}"                 p:password="${jdbc.password}"                                />     <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">${jdbc.hibernate.dialect}</prop>                 <prop key="hibernate.show_sql">true</prop>             </props>         </property>          <property name="packagestoscan" value="com.entity" />     </bean>     <bean id="transactionmanager" class="org.springframework.orm.hibernate3.hibernatetransactionmanager">         <property name="sessionfactory" ref="sessionfactory" />     </bean>     <tx:annotation-driven transaction-manager="transactionmanager" /> </beans> 

when try run code getting exception have posted. autowired injection not happening. problem ?

take close @ exception, says
nested exception org.springframework.beans.factory.nosuchbeandefinitionexception: no matching bean of type [org.hibernate.sessionfactory] found dependency: expected @ least 1 bean qualifies autowire candidate dependency.

it looks not creating sessionfactory bean. make sure have sessionfactory added in spring configuration

for example :

<bean id="sessionfactory"     class="org.springframework.orm.hibernate4.localsessionfactorybean"      p:datasource-ref="datasource"      p:configlocation="${hibernate.config}" /> 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -