无法实例化Bean类

问题描述

| 我正在我的GWT项目中尝试与Spring进行休眠交互,下面是我的代码
    public class MyWebServiceImpl extends RemoteServiceServlet implements
    MyWebService {

public void myfirstmethod() {
    // Todo Auto-generated method stub

}

public String signIn(String userid,String password)  {
    ApplicationContext ctx = new ClasspathXmlApplicationContext(
    \"applicationContext.xml\");
    MysqLRdbHelper rdbHelper = (MysqLRdbHelper) ctx.getBean(\"ManagerJobs\");
    **//THIS IS THE POINT WHERE IT THROWS THE EXCEPTION**

    return rdbHelper.getAuthentication(userid,password);
}
}
      public class MysqLRdbHelper {


private Session session;
private SessionFactory sessionFactory;
  /* FOR COUNT QUERY
   * session.createCriteria(RuleSet .class)   
   .setProjection( Projections.projectionList()   
           .add( Projections.rowCount() ) )   
   .add( Subqueries.geAll(\"entry_id\",bolgsEntries) )   
   .list();   
 */
public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
    }

public String getAuthentication(String userid,String password)
{
    //Some detals like credit card are commented in the class
    User users = null;
    session = sessionFactory.openSession();
    Criteria crit = session.createCriteria(User.class);
    crit.add(Restrictions.eq(\"userName\",userid));
    crit.add(Restrictions.eq(\"password\",password));

    List rsList = crit.list();
    for(Iterator it=rsList.iterator();

    it.hasNext();
    )
    {
        users = (User)it.next();
        System.out.println(users.getUserName());
    }
    session.close();
    return users.getUserName();
}
}
         APPLICATIONCONTEXT.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\"
      xsi:schemaLocation=\"http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-2.0.xsd\"
     default-lazy-init=\"true\">

       <!-- Datasource for database connection -->
       <bean id=\"dataSource\"  class=\"org.springframework.jdbc.datasource.DriverManagerDataSource\">
        <property name=\"driverClassName\" value=\"com.MysqL.jdbc.Driver\" />
        <property name=\"url\"
        value=\"jdbc:MysqL://localhost:3306/patients\" />
        <property name=\"username\" value=\"root\" />
        <property name=\"password\" value=\"\" />
        </bean>

         <bean id=\"sessionFactory\"  class=\"org.springframework.orm.hibernate3.annotation.AnnotationSessionfactorybean\"> 
         <property name=\"dataSource\" ref=\"dataSource\" /> 
        <property name=\"annotatedClasses\"> 
         <list>  
 <value>com.Patient.shared.User</value> 

       </list> 
       </property> 
        </bean>
       <bean id =\"ManagerJobs\" class= \"patient.persistence.MysqLRdbHelper\">
      <property name=\"sessionFactory\" ref=\"sessionFactory\" /> 
     </bean>
这是例外
org.springframework.beans.factory.BeanCreationException: Error creating bean with name \'ManagerJobs\' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean \'sessionFactory\' while setting bean property \'sessionFactory\'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name \'sessionFactory\' defined in class path resource [applicationContext.xml]: Invocation of init method Failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.hibernate.cfg.AnnotationConfiguration]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    

解决方法

        如以下所示,您在类路径中缺少slf4j
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
获取并添加到应用程序。     ,        
This is my Controller file..........
@Controller
public class AutoCompleteController {
    //@Resource(name = \"blCatalogService\")
    //protected CatalogService catalogService;
        @RequestMapping(value = \"/AutoComplete\",produces = \"application/json\")
        public@ResponseBodyList<Product>AutoComplete(HttpServletRequest request,HttpServletResponse response,Model model,CatalogService catalogService){
    List <Product> list=new ArrayList<Product>();
    String autostr=request.getParameter(\"autocomp\");
    System.out.println(\"AutoComplete Controller\" + autostr);
    try { 
        //database query searchString;
        CatalogService catalogService1=new CatalogServiceImpl();
        list =  catalogService1.findProductsByName(autostr);
        System.out.println(\"Result:\"+list);

    } 
        catch (Exception e) {
         System.out.println(\"Error inside AutoComplete Controller\");
             e.printStackTrace();
        }
        return list;

    }

    }
    This is my js File


function ajaxAutoComplete(a)
{

    var querystring = \"&isAjax=1&autocomp=\"+jQuery(\"#autocomp\").val();
    jQuery.ajax({
        url: a,dataType: \"json\",type: \"post\",`enter code here`
        data: querystring,success: function (data){} 
    });
}
that the time it will produced that error.
500 Could not instantiate bean class
org.broadleafcommerce.core.catalog.service.CatalogService]: