NoSuchBeanDefinitionException: Pas de bean nommé "entityManagerFactory" est défini

J'ai simple Ressort 4 WebMVC application (Java-config), et je tiens à ajouter de la JPA.
Mais quand j'essaye d'exécuter l'application (comme deloyed sur Tomcat), j'obtiens:
Ce qui peut être une source d'erreur?

Erreur lors de la création de haricots avec le nom "indexController": l'Injection de
autocâblés dépendances a échoué; nested exception est
org.springframework.les haricots.usine.BeanCreationException: ne Peut pas
autowire champ: org.la démo.webtemplate.db.référentiel.CustSysRepository
org.la démo.webtemplate.les contrôleurs.IndexController.référentiel; imbriqué
exception est org.springframework.les haricots.usine.BeanCreationException:
Erreur lors de la création de haricots avec le nom "custSysRepository': Impossible de créer intérieure
haricot "(intérieur de la fève)#f4da8a0 " du type
[org.springframework.orm.jpa.SharedEntityManagerCreator] pendant le réglage
bean propriété "entityManager'; nested exception est
org.springframework.les haricots.usine.BeanCreationException: Erreur
la création de haricot avec le nom "(intérieur de la fève)#f4da8a0': Ne peut pas résoudre
référence au bean "entityManagerFactory' tout en paramètre de constructeur
l'argument; nested exception est
org.springframework.les haricots.usine.NoSuchBeanDefinitionException: Aucun
bean nommé "entityManagerFactory" est défini

Initialiseur:

package org.demo.webtemplate;

...

public class SpringWebMvcInitializer implements WebApplicationInitializer  {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        ctx.register(Config.class);
        ctx.setServletContext(servletContext);
        Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
        servlet.addMapping("/");
        servlet.setLoadOnStartup(1);
    }

}

Config:

package org.demo.webtemplate;

...

@Configuration
@EnableWebMvc
@ComponentScan("pl.bzwbk.webtemplate")
@EnableJpaRepositories("pl.bzwbk.webtemplate.db.repository")
public class Config {

    @Bean
    public UrlBasedViewResolver setupViewResolver() {
        UrlBasedViewResolver resolver = new UrlBasedViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        resolver.setViewClass(JstlView.class);
        return resolver;
    }
}

Contrôleur:

package org.demo.webtemplate.controllers;

...

@Controller
public class IndexController {

    @Autowired
    CustSysRepository repository;

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String index() {
        List<CustSys> clients = repository.findByFullName("SOME NAME");

        return "index"+clients .size();
    }

}

Référentiel:

package org.demo.webtemplate.db.repository;

...

public interface CustSysRepository extends JpaRepository<CustSys, Long> {

    List<CustSys> findByFullName(String fullName);
}

Entité:

package org.demo.webtemplate.db.entity;

...

@Entity
@Table(name = "CUST_SYS")
public class CustSys implements Serializable {
    private static final long serialVersionUID = 1L;
    ...
    @Size(max = 255)
    @Column(name = "FULL_NAME")
    private String fullName;
    ...
    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }
    ...
}

application.propriétés:

jdbc.driverClassName=org.hsqldb.jdbc.JDBCDriver
jdbc.url=jdbc:hsqldb:mem:testdb
jdbc.user=sa
jdbc.pass=
Non, ce n'est pas la même. Dans le cas de cette liaison problème était parce qu'il changer le nom de l'entityManagerFactory emf, et il l'utiliser XML de config, pas de Java-Config.
où avez-vous défini des entityManagerFactory?

OriginalL'auteur Son | 2015-02-16