报错 org.springframework.beans.factory.NoSuchBeanDefinitionException 的解决思路和办法
报错空指针异常的解决办法
解决问题的思路:
1.如果您使用注释进行配置,则可能会缺少类实现的注释(@Service或@Component)。
2.如果您使用(仅)xml,您可能会错过BaseDictService实现的<bean>定义。
3.如果您使用注释并且实现注释正确,请检查扫描实现所在的包
(检查各自组件的自动扫描组件<context:component-scan base-package = “XXXX”)
或者(Spring自动扫描<context:annotation-config/>)
解决办法:
添加@Component, @Repository, @Service, @Controller, etc注解。
当然如果你注入的是抽象类或者接口,不需要在此抽象类和接口上添加这些注解。只需要在它的子类上添加上注解就可以了。
我的问题是:在dao层实现类中没将SessionFactory自动注入到容器中,所以值没传过去,报空指针错误。
package com.sram.dao;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.sram.entity.Manager;
@Repository
public class ManagerDAOImpl implements ManagerDAO{
@Autowired
private SessionFactory sessionFactory;
@Override
public boolean findByMnameandMpsw(String mname, String mpsw) {
Manager manager=(Manager)sessionFactory.getCurrentSession().createQuery("from Manager where mname=? and mpsw=?").setString(0, mname).setString(1, mpsw).uniqueResult();
if(manager!=null){
return true;
}
return false;
}
}