userDao出现java.lang.NullPointerException,求人看下为何会出现空

userDaoImpl代码:@Component("userDao")publicclassUserDaoImplimplementsUserDao{privateHib... userDaoImpl代码:
@Component("userDao")
public class UserDaoImpl implements UserDao {
private HibernateTemplate hibernateTemplate;
public boolean check(String username) {
List <User> users=hibernateTemplate.find("from User u where u.username = '" + username + "'");
if(users!=null&&users.size()>0){
return true;
}
return false;
}
public void save(User user) {
hibernateTemplate.save(user);
}

public List<User> getList(){
System.out.println("getList");
return (List<User>)this.hibernateTemplate.find("From User");
}
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
}
userServiceImple代码:
@Component
public class UserServiceImpl implements UserService {
private UserDao userDao;
private List<User> users;

public boolean add(User user) {
if(userDao.check(user.getUsername())){
return true;
}
userDao.save(user);
return false;
}

public List<User> list(){
System.out.println(userDao==null);
System.out.println("serviceList");
users=userDao.getList();
return users;
}

public UserDao getUserDao() {
return userDao;
}
@Resource
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
spring配置文件:

sessionFactory注入了dataSource数据库连接方法

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>com.wang.model.User</value>
</list> </property>
<!-- spring集合注入的方式 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<!-- DAO层接口实现-->
<bean id="userDao" class="com.wang.dao.impl.UserDaoImpl">
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
</beans>
java.lang.NullPointerException
at com.wang.service.impl.UserServiceImpl.add(UserServiceImpl.java:19)
at com.wang.action.UserActionTest.testAdd(UserActionTest.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
我这是uerDao出现空也就是service层里面的userDao没有值也就是说uerDaoImpl没有注入到userDao里面,而且我testlist()方法不需要传name也是同样的错误
展开
 我来答
flower_wzm
2012-07-25 · TA获得超过921个赞
知道小有建树答主
回答量:636
采纳率:0%
帮助的人:287万
展开全部
UserServiceImpl 的bean没有声明

配置加个bean吧
更多追问追答
追问
我用了annotation
@component
@resource
而且现在我是因为userDao出现了空,userService没有报空

自动装配方式,这样不是可以的吗
追答
用了annotation还是要声明userserviceimpl呀,你要加的是

像你配userDao一样的嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
apqler
2017-07-17 · TA获得超过328个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:119万
展开全部
没有初始化吧,使用userDao之前先判断userDao是否为null,不为null的时候才调用userDao的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月牙马马
推荐于2017-08-15 · TA获得超过189个赞
知道小有建树答主
回答量:428
采纳率:0%
帮助的人:174万
展开全部
那不是 都告诉你了 吗
UserServiceImpl.add(UserServiceImpl.java:19)

这个方法的 第 19 行 下面的都是 自己在先看看
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2019-03-07
知道答主
回答量:1
采纳率:0%
帮助的人:767
展开全部

没有开启注册扫描

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-08-09
展开全部
没有注入?!是否开启注解驱动?包扫描所用的注解。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式