2013-08-01 7 views
4

나는 오류를 다음과 같이 붙어 있어요, 내 스택 트레이스 : 이것은 내 수업이에 의해 발생 : org.springframework.beans.factory.NoSuchBeanDefinitionException :

package dao; 


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

import org.springframework.stereotype.Repository; 
import org.springframework.stereotype.Service; 

@Repository 
public class GenericDaoImpl<T> extends HibernateDaoSupport implements GenericDao<T> { 


    @Autowired 
    public GenericDaoImpl(SessionFactory sessionFactory){ 
     super.setSessionFactory(sessionFactory); 
    } 

    protected void init() { 
     //Do Nothing 
    } 

    @Override 
    public void save(T t) { 
     // TODO Auto-generated method stub 
     getHibernateTemplate().save(t); 
    } 

    @Override 
    public void update(T t) { 
     // TODO Auto-generated method stub 
     getHibernateTemplate().update(t); 
    } 

    @Override 
    public void delete(T t) { 
     // TODO Auto-generated method stub 
     getHibernateTemplate().delete(t); 
    } 

} 

GenericDaoImpl.java

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: dao.GenericDaoImpl dao.UserDao.genericDaoImpl; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'genericDaoImpl' defined in file [D:\Juno WorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\FoodCart\WEB-INF\classes\dao\GenericDaoImpl.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.hibernate.SessionFactory]: : No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285) 
    ... 43 more 
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'genericDaoImpl' defined in file [D:\Juno WorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\FoodCart\WEB-INF\classes\dao\GenericDaoImpl.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.hibernate.SessionFactory]: : No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:730) 
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1051) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:955) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:910) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:853) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:486) 
    ... 45 more 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:986) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:856) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768) 
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795) 
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723) 
    ... 58 more 
Aug 1, 2013 11:39:35 PM org.apache.catalina.core.StandardContext loadOnStartup 
SEVERE: Servlet /FoodCart threw load() exception 
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:986) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:856) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768) 
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795) 
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723) 

입니다 다음은 내 springcongif.xml입니다.

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd"> 


<context:component-scan base-package="controllers,dao" /> 


<bean id="viewResolver" 
      class="org.springframework.web.servlet.view.InternalResourceViewResolver" > 
      <property name="prefix"> 
       <value>/WEB-INF/pages/</value> 
      </property> 
      <property name="suffix"> 
       <value>.jsp</value> 
      </property> 
    </bean> 

</beans> 
,451,515,

그리고 다음은 내가 실수를하고있는 중이 야 어디

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory name="SpringConfig"> 
     <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="hibernate.connection.password">..</property> 
     <property name="hibernate.connection.url">..</property> 
     <property name="hibernate.connection.username">..</property> 
     <property name="hibernate.default_schema">..</property> 
     <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
     <mapping class="beans.SampleBean"/> 
     <mapping class="beans.User"/> 
    </session-factory> 
</hibernate-configuration> 

몇 가지 중 하나가, 저를 지적하시기 바랍니다 내있는 hibernate.cfg.xml입니다. 어떤 도움을 주시면 감사하겠습니다.

답변

3

오류는 자체적으로 설명됩니다. 유형이 SessionFactory 인 Spring bean이 정의되지 않았습니다. 실제로 springcongif.xml에 정의 된 SessionFactory 유형의 콩이 없습니다.

SessionFactory 유형의 bean을 정의하는 방법은 http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/htmlsingle/#orm-hibernate을 읽으십시오.

+0

오, 알았어, 바보 같은 실수를 했어. 시간 내 주셔서 감사합니다. – commit

1

sessionFactory 빈을 만들어야합니다. 예를 들어 here을 확인하지만 웹에서 가득 찼습니다.

관련 문제