我在登陆后执行dao的一个方法改变用户状态为online,然后下线时又调用此函数修改其状态为hide,在dao类里有一个Dao dao属性,采用nutz提供的ioc依赖注入,问题是我第一次调用此方法时dao是有实例的,但是第二次调用此函数时dao就为null,是不是我哪里配置错了
userDaoImpl类:
@IocBean(name="userDao")
public class UserDaoImpl implements UserDao{
@Inject
private Dao dao;
/**
* 更新在线状态
*/
@Override
public void updateStatus(String name) {
User user = dao.fetch(User.class,Cnd.where(User.USERNAME,"=",name));
if("online".equals(user.getStatus())){
user.setStatus("hide");
}else{
user.setStatus("online");
}
dao.update(user);
}
}
dao.js
var ioc = {
conf : {
type : "org.nutz.ioc.impl.PropertiesProxy",
fields : {
paths : ["custom/"]
}
},
dataSource : {
factory:'$conf#make',
args : ["com.alibaba.druid.pool.DruidDataSource", "db."],
type : "com.alibaba.druid.pool.DruidDataSource",
events : {
create : "init",
depose : 'close'
}
/*fields : {
url : "jdbc:mysql://127.0.0.1:3306/nutzbook",
username : "root",
password : "admin",
testWhileIdle : true, // 非常重要,预防mysql的8小时timeout问题
//validationQuery : "select 1" , // Oracle的话需要改成 select 1 from dual
maxActive : 100
}*/
},
dao : {
type : "org.nutz.dao.impl.NutDao",
args : [{refer:"dataSource"}]
}
};