2013-08-14 2 views
0

Это ошибка, что я получаю:ошибка проекта весной, зимуют

СИЛЬНЫЙ: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Ошибка при создании боб с именем «usuarioControlador»: Инъекция автоуверенные зависимости не удались; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Не удалось создать поле autwire: private com.blah.base.database.DAO.UsuarioDAO com.blah.base.controlador.UsuarioControlador.usuarioDAO; Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании компонента с именем «UsuarioDAO», определенным в файле [C: \ Users \ Owner \ workspaceSpring.metadata.plugins \ org.eclipse.wst.server.core \ tmp3 \ wtpwebapps \ base \ WEB-INF \ classes \ com \ yavale \ base \ database \ hibernetDAO \ UsuarioHibernetDao.class]: неудовлетворенная зависимость, выраженная через аргумент конструктора с индексом 0 типа [org.hibernate.SessionFactory]:: Отсутствие квалификационного компонента типа [org.hibernate.SessionFactory], найденный для зависимости: ожидается как минимум 1 компонент, который квалифицируется как кандидат на автоподключение для этой зависимости. Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Qualifier (значение = sessionFactory)}; Вложенное исключение - это org.springframework.beans.factory.NoSuchBeanDefinitionException: не определено, какой атрибут bean типа [org.hibernate.SessionFactory] найден для зависимостей: ожидается как минимум 1 компонент, который квалифицируется как кандидат autwire для этой зависимости. Зависимость от аннотаций: {@ org.springframework.beans.factory.annotation.Qualifier (значение = SessionFactory)}

Это мой UsuarioControlador (контроллер):

@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"; 
} 
} 

Это UsuarioDAO:

public interface UsuarioDAO { 

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

} 

Это класс, который реализует 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); 
} 

} 

Это мой сервлет-прод ext.xml: https://dl.dropboxusercontent.com/u/31349296/servlet-context.xml

Я новый с весной, поэтому я полностью потерял это.

Редактировать: это полный трассировки стека: https://dl.dropboxusercontent.com/u/31349296/log.txt

Edit2:

enter image description here

+0

Пожалуйста, отправьте полную статистику стека – harrybvp

+0

Я отредактировал вопрос – kiduxa

ответ

1

Вы используете неверный идентификатор в аннотации Qualifier. Идентификатор компонента - «mySessionFactory», но вы дали «sessionFactory». Кроме того, убедитесь, что сканирование компонент контента проверяет правильные пакеты.

Update:

Другая ошибка, вероятно, связано с импортом в спящем сессии. Вы должны использовать org.hibernate.Session вместо org.hibernate.classic.Session

+0

Извините, вы были почти правы. Теперь у меня другая ошибка. Я изменил содержание в https://dl.dropboxusercontent.com/u/31349296/log.txt – kiduxa

+0

Я обновил ответ. Похоже, мой первый ответ решил вашу проблему, поэтому вы получили это. Итак, примите мой ответ –

+0

Я добавил свой импорт. Я использую org.hibernate.SessionFactory ;. Должен ли я открыть новый вопрос для решения моей новой проблемы ?. У меня все еще есть «ошибка с проектом весной, спящий режим»: s – kiduxa

Смежные вопросы