user3738181
user3738181

Reputation: 49

Java BeanCreationException

I'm modifying the Java Spring Hibernate template from Heroku and attempting to connect a local postgresql database. However I'm receiving this error and am unsure of how to fix it.

`org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.java.model.FirstModelImple] for bean with name 'name of the object' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: com.java.model.FirstModelImple
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.java.model.FirstModelImple] for bean with name 'name of the object' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: com.java.model.FirstModelImple
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.java.model.FirstModelImple] for bean with name 'name of the object' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: com.java.model.FirstModelImple
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)`

Here is my applicationContext.xml file where I declare the db:

<beans profile="default">
    <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
        <property name="driverClassName" value="org.postgresql.Driver"/>
        <property name="url" value="jdbc:postgresql://ericsMac@localhost/mydb"/>
        <property name="username" value="ericsMac"/>
        <property name="password" value=" "/>
    </bean> 

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
        </property>
        <property name="jpaProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <!-- change this to 'verify' before running as a production app -->
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
    </bean>
</beans>`

Upvotes: 0

Views: 1554

Answers (1)

Gus
Gus

Reputation: 6871

Generally when I see spring errors I find it's most useful to scroll all the way (way, way, way) to the end of the message line on the far right in your code block...

There I see:

java.lang.ClassNotFoundException: com.java.model.FirstModelImple

I'm guessing that that class is not on your classpath but is referenced by something in your beans configuration. I would also suggest that this line looks fishy, and probably means you haven't edited something but it's likely heroku specific (such as a tutorial example that you are following?) so I can't help with that:

for bean with name 'name of the object'

Since I don't see 'name of the object' in your supplied application context it seems quite possible some other application context file is what's getting loaded.

Upvotes: 1

Related Questions