NoSuchBeanDefinitionException: No bean named 'entityManagerFactory' is defined

前端 未结 2 1872
清歌不尽
清歌不尽 2020-12-21 02:07

I have simple Spring 4 WebMVC app (Java-config), and I want to add JPA. But when I try to run app (as deloyed on Tomcat) I get: What can be a source of error?

相关标签:
2条回答
  • 2020-12-21 02:50

    in this question I posted a full example how to unit test a spring controller which needs an autowired JpaRepository.

    0 讨论(0)
  • 2020-12-21 02:53

    You're missing completly DB configuration in your Config class.

    Try this for example:

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("org.hsqldb.jdbc.JDBCDriver");
        dataSource.setUrl("jdbc:hsqldb:mem:testdb");
        dataSource.setUsername("sa");
        dataSource.setPassword("");
        return dataSource;
    }
    
    @Bean
    public EntityManager entityManager() {
        return entityManagerFactory().getObject().createEntityManager();
    }
    
    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
        em.setDataSource(dataSource());
        em.setPackagesToScan("package.where.your.entites.like.CustSys.are.stored");
        return em;
    }
    
    0 讨论(0)
提交回复
热议问题