spring - org.springframework.beans.factory.BeanCreationException: Error creating bean -
i trying configure spring framework 2.5.6.sec01 + jpa using hibernate, getting exception while spring tries create bean , xml , error stack trace below:
note :
in project need use spring ver 2.5.6 not spring ver 3.x.x
applicationcontext.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:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <context:component-scan base-package="restodeskapp.dao , restodeskapp.service.impl"/> <context:annotation-config/> <tx:annotation-driven/> <context:property-placeholder location="classpath:jdbc.properties"/> <bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource" p:driverclassname="${jdbc.driver}" p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}"/> <bean id="sessionfactory" class="org.springframework.orm.hibernate3.annotation.annotationsessionfactorybean" p:datasource-ref="datasource" p:configlocation="classpath:hibernate.cfg.xml"/> <bean id="transactionmanager" class="org.springframework.orm.hibernate3.hibernatetransactionmanager" p:sessionfactory-ref="sessionfactory"/> </beans> hibernate.cfg
<?xml version="1.0" encoding="utf-8"?> <!doctype hibernate-configuration public "-//hibernate/hibernate configuration dtd 3.0//en" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.mysqlinnodbdialec</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/resto</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.hbm2ddl.auto">create</property> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <mapping class="restodeskapp.model.makanan"/> </session-factory> </hibernate-configuration> example.java
@service("makananservice") @transactional(readonly=true) public class makananserviceimpl implements makananservice{ @autowired private makanandao persondao; @transactional(readonly=false) public void save(makanan person) { persondao.save(person); } @transactional(readonly=false) public void delete(makanan person) { persondao.delete(person); } public long count() { return persondao.count(); } public makanan getmakan(long id) { return persondao.getbyid(id); } public list<makanan> getmakan() { return persondao.getall(); } public list<makanan> getmakan(int start, int num) { return persondao.getall(start, num); } }
error log
debug: log4j:warn no appenders found logger (org.springframework.context.support.classpathxmlapplicationcontext). log4j:warn please initialize log4j system properly. exception in thread "main" org.springframework.beans.factory.beancreationexception: error creating bean name 'org.springframework.transaction.interceptor.transactioninterceptor#0': cannot resolve reference bean 'transactionmanager' while setting bean property 'transactionmanager'; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'transactionmanager' defined in class path resource [applicationcontext.xml]: cannot resolve reference bean 'sessionfactory' while setting bean property 'sessionfactory'; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in class path resource [applicationcontext.xml]: invocation of init method failed; nested exception org.hibernate.hibernateexception: not parse configuration: file:/c:/users/hallaz/documents/netbeansprojects/restodeskapp/build/classes/hibernate.cfg.xml @ org.springframework.beans.factory.support.beandefinitionvalueresolver.resolvereference(beandefinitionvalueresolver.java:275) @ org.springframework.beans.factory.support.beandefinitionvalueresolver.resolvevalueifnecessary(beandefinitionvalueresolver.java:104) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.applypropertyvalues(abstractautowirecapablebeanfactory.java:1245) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1010) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:472) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory$1.run(abstractautowirecapablebeanfactory.java:409) @ java.security.accesscontroller.doprivileged(native method) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:380) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:264) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:222) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:261) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:185) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:164) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:429) @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:728) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:380) @ org.springframework.context.support.classpathxmlapplicationcontext.<init>(classpathxmlapplicationcontext.java:139) @ org.springframework.context.support.classpathxmlapplicationcontext.<init>(classpathxmlapplicationcontext.java:83) @ restodeskapp.mainspring.main(mainspring.java:19) caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'transactionmanager' defined in class path resource [applicationcontext.xml]: cannot resolve reference bean 'sessionfactory' while setting bean property 'sessionfactory'; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in class path resource [applicationcontext.xml]: invocation of init method failed; nested exception org.hibernate.hibernateexception: not parse configuration: file:/c:/users/hallaz/documents/netbeansprojects/restodeskapp/build/classes/hibernate.cfg.xml @ org.springframework.beans.factory.support.beandefinitionvalueresolver.resolvereference(beandefinitionvalueresolver.java:275) @ org.springframework.beans.factory.support.beandefinitionvalueresolver.resolvevalueifnecessary(beandefinitionvalueresolver.java:104) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.applypropertyvalues(abstractautowirecapablebeanfactory.java:1245) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1010) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:472) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory$1.run(abstractautowirecapablebeanfactory.java:409) @ java.security.accesscontroller.doprivileged(native method) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:380) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:264) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:222) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:261) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:185) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:164) @ org.springframework.beans.factory.support.beandefinitionvalueresolver.resolvereference(beandefinitionvalueresolver.java:269) ... 18 more caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in class path resource [applicationcontext.xml]: invocation of init method failed; nested exception org.hibernate.hibernateexception: not parse configuration: file:/c:/users/hallaz/documents/netbeansprojects/restodeskapp/build/classes/hibernate.cfg.xml @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1338) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:473) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory$1.run(abstractautowirecapablebeanfactory.java:409) @ java.security.accesscontroller.doprivileged(native method) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:380) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:264) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:222) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:261) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:185) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:164) @ org.springframework.beans.factory.support.beandefinitionvalueresolver.resolvereference(beandefinitionvalueresolver.java:269) ... 31 more caused by: org.hibernate.hibernateexception: not parse configuration: file:/c:/users/hallaz/documents/netbeansprojects/restodeskapp/build/classes/hibernate.cfg.xml @ org.hibernate.cfg.configuration.doconfigure(configuration.java:1494) @ org.hibernate.cfg.annotationconfiguration.doconfigure(annotationconfiguration.java:990) @ org.hibernate.cfg.annotationconfiguration.doconfigure(annotationconfiguration.java:69) @ org.hibernate.cfg.configuration.configure(configuration.java:1443) @ org.hibernate.cfg.annotationconfiguration.configure(annotationconfiguration.java:978) @ org.hibernate.cfg.annotationconfiguration.configure(annotationconfiguration.java:69) @ org.springframework.orm.hibernate3.localsessionfactorybean.buildsessionfactory(localsessionfactorybean.java:601) @ org.springframework.orm.hibernate3.abstractsessionfactorybean.afterpropertiesset(abstractsessionfactorybean.java:211) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1369) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1335) ... 41 more caused by: org.dom4j.documentexception: error on line 1 of document : content not allowed in prolog. nested exception: content not allowed in prolog. @ org.dom4j.io.saxreader.read(saxreader.java:482) @ org.hibernate.cfg.configuration.doconfigure(configuration.java:1484) ... 50 more java result: 1 build successful (total time: 1 second) please me...
solution xml file content prefixed bom @sotirios delimanolis answer ctrl + delete , write manual again :)
thanks :)
your xml file content prefixed bom. sax parser expects normal < begin xml document finds byte order mark instead.
you have remove it. example doing can found here.
Comments
Post a Comment