2013-08-14 3 views
0

Cette erreur que je reçois:avec le projet au printemps, mise en veille prolongée

GRAVES: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom « usuarioControlador »: Injection de les dépendances autowired ont échoué; l'exception imbriquée est org.springframework.beans.factory.BeanCreationException: Impossible d'autofaire le champ: private com.blah.base.database.DAO.UsuarioDAO com.blah.base.controlador.UsuarioControlador.usuarioDAO; l'exception imbriquée est org.springframework.beans.factory.UnsatisfiedDependencyException: Erreur lors de la création du bean avec le nom 'UsuarioDAO' défini dans le fichier [C: \ Users \ Owner \ workspaceSpring.metadata.plugins \ org.eclipse.wst.server.core \ tmp3 \ wtpwebapps \ base \ WEB-INF \ classes \ com \ yavale \ base \ base de données \ hibernetDAO \ UsuarioHibernetDao.class]: Dépendance insatisfaite exprimée par l'argument constructeur avec l'index 0 de type [org.hibernate.SessionFactory]:: Aucun bean qualifiant de type [org.hibernate.SessionFactory] trouvé pour la dépendance: attendu au moins 1 bean qui se qualifie comme candidat autowire pour cette dépendance. Annotations de dépendance: {@ org.springframework.beans.factory.annotation.Qualifier (value = sessionFactory)}; l'exception imbriquée est org.springframework.beans.factory.NoSuchBeanDefinitionException: Aucun bean qualifiant de type [org.hibernate.SessionFactory] trouvé pour la dépendance: attendu au moins 1 bean qui se qualifie comme candidat autowire pour cette dépendance. annotations de dépendance: {@ org.springframework.beans.factory.annotation.Qualifier (valeur = sessionFactory)}

Ceci est mon UsuarioControlador (contrôleur):

@Controller 
@RequestMapping("/") 
public class UsuarioControlador { 

private UsuarioDAO usuarioDAO; 
@Autowired 
public void setUsuarioDAO(UsuarioDAO usuarioDAO) { 
    this.usuarioDAO = usuarioDAO; 
} 

@RequestMapping(method = RequestMethod.GET) 
public String list(Model model) { 
    List<Usuario> usuarios = usuarioDAO.listarUsuarios(); 
    model.addAttribute("usuarios", usuarios); 

    return "index"; 
} 
} 

C'est UsuarioDAO:

public interface UsuarioDAO { 

void insertarUsuario(Usuario usuario); 
void modificarUsuario(Usuario usuario); 
List<Usuario> listarUsuarios(); 
Usuario buscarUsuario(String idUsuario); 
void eliminarUsuario(Usuario usuario); 

} 
Ce

est la classe qui implémente UsuarioDAO:

import org.hibernate.SessionFactory; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.beans.factory.annotation.Qualifier; 
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 
import org.springframework.stereotype.Service; 

@Service(value="UsuarioDAO") 
public class UsuarioHibernetDao extends HibernateDaoSupport implements UsuarioDAO{ 

@Autowired 
public UsuarioHibernetDao(@Qualifier("mySessionFactory") SessionFactory 
     sessionFactory) { 
    this.setSessionFactory(sessionFactory); 
} 


public void insertarUsuario(Usuario usuario) { 
    this.getHibernateTemplate().save(usuario); 
} 

public void modificarUsuario(Usuario usuario) { 
    this.getHibernateTemplate().update(usuario); 
} 

public List<Usuario> listarUsuarios() { 
    return this.getHibernateTemplate().find("from Usuario"); 
} 

public Usuario buscarUsuario(String idUsuario) { 
    return this.getHibernateTemplate().load(Usuario.class, idUsuario); 
} 

public void eliminarUsuario(Usuario usuario) { 
    this.getHibernateTemplate().delete(usuario); 
} 

} 

Ceci est mon servlet suite ext.xml: https://dl.dropboxusercontent.com/u/31349296/servlet-context.xml

Je suis nouveau avec le printemps donc Im complètement perdu avec ceci.

Modifier: c'est la trace complète de la pile: https://dl.dropboxusercontent.com/u/31349296/log.txt

Edit2:

enter image description here

+0

Veuillez écrire la trace complète de la pile – harrybvp

+0

J'ai édité la question – kiduxa

Répondre

1

Vous utilisez le mauvais identifiant dans l'annotation Qualifier. L'identifiant du bean est "mySessionFactory" mais vous avez donné "sessionFactory". Assurez-vous également que l'analyse des composants de contenu analyse les bons packages.

Mise à jour:

L'autre erreur est probablement liée à l'importation de la session de mise en veille prolongée. Vous devez utiliser org.hibernate.Session au lieu de org.hibernate.classic.Session

+0

Désolé, vous avez presque raison. Maintenant j'ai une autre erreur. J'ai changé le contenu dans https://dl.dropboxusercontent.com/u/31349296/log.txt – kiduxa

+0

J'ai mis à jour la réponse. On dirait que ma première réponse a résolu votre problème, c'est pourquoi vous l'avez obtenu. Donc, s'il vous plaît accepter ma réponse –

+0

J'ai ajouté mes importations. Im en utilisant org.hibernate.SessionFactory ;. Dois-je ouvrir une nouvelle question pour résoudre mon nouveau problème? J'ai toujours "erreur avec le projet au printemps, hiberner": s – kiduxa

Questions connexes