我正在尝试使用 CRUD 存储库在 gemfire 上保存数据。我创建了一个操作类来调用存储库的保存方法,但在 Autowiring 实例中我收到空指针异常。下面是我的代码:
public interface GeodeRepository extends CrudRepository<KeyValueBean, String> {
@Override
public KeyValueBean findOne(String name);
@Override
public <S extends KeyValueBean> Iterable<S> save(Iterable<S> entities);
}
@EnableGemfireRepositories(basePackageClasses = GeodeRepository.class)
@EnableAutoConfiguration
@Configuration
public class Operations {
@Autowired
private GeodeRepository repository;
public void saveKeyValueData(KeyValueBean keyValueBean) {
System.out.println("Repository is : " + repository);
repository.save(Arrays.asList(keyValueBean)); // <--- i am getting
// repository as null so
// getting null pointer
// exception
}
}
最佳答案
当我们@Autowired
任何类时,请确保您已将该类声明为@Component
。
例如:
@Component
public class Operations {
@Autowired
private GeodeRepository repository;
public void saveKeyValueData(KeyValueBean keyValueBean) {
System.out.println("Repository is : " + repository);
repository.save(Arrays.asList(keyValueBean));
}
}
并尝试使用@Autowired
将Operation类添加到您的类中
您在哪个类中调用 saveKeyValueData()
方法。
关于spring-boot - 尝试对 @autowired 实例进行操作时获取 null,抛出空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38607630/