2

crud リポジトリを使用して gemfire にデータを保存しようとしています。リポジトリの保存メソッドを呼び出す操作クラスを 1 つ作成しましたが、自動配線されたインスタンスで null ポインター例外が発生します。以下は私のコードです:

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
    }
}
4

2 に答える 2

3

私たち@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()

于 2016-12-26T09:26:59.473 に答える