问题描述
|
我正在我的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]: