最近在写项目的时候,因为需求需要动之前的代码,写的时候发现在静态方法中使用一般spring注解注入的实例为空,对象实例化失败。
解决方法:类中添加构造函数:
private static JongoDB jongoDB;
@Autowired
public SendPush(JongoDB jongoDb) {
SendPush.jongoDB = jongoDb;
}
private static Boolean senOpen() {
Map b = (Map)jongoDB.getMongoCollection("SystemConfig").findOne("{key:#}", SystemConfig.KeyEnum.SEND_PUSH_OPEN.getKey()).as(Map.class);
if (b != null) {
return (Boolean) b.get("value");
}
return false;
}
注意:这时候类上不需要加@Component等这样的注解。