Я хочу разработать небольшое тестовое приложение, используя Spring Boot и Spring Data MongoDB. Итак, в этом случае я использую конфигурацию по умолчанию (например, localhost: 27017/test database), и я стараюсь следовать руководству по весне (https://spring.io/guides/gs/accessing-data-mongodb/).Весенние данные загрузки MongoDB - Репозиторий имеет значение
я запускаю мое приложение, как это:
@SpringBootApplication
public class Application implements CommandLineRunner {
private static final Logger LOGGER = LoggerFactory.getLogger(Application.class);
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void run(String... strings) throws Exception {
(new DummyClass()).load();
}
}
DummyClass выглядит следующим образом:
@org.springframework.stereotype.Component
@ConfigurationProperties(prefix="dummy")
public class DummyClass {
private static String url;
private List<Project> projects;
@Autowired
private ProjectRepository projectRepository;
public void setUrl(String url) {
DummyClass.url = url;
}
@Override
public void load() {
// (...) creating some project objects
projectRepository.deleteAll();
projectRepository.save(this.projects);
}
}
Когда оператор projectRepository.deleteAll() выполняется, я получаю NullPointerException ип.
Для получения дополнительной информации, ниже ProjectRepository интерфейса:
public interface ProjectRepository extends MongoRepository<Project, String>
{
}
И мой пакет структура: com.test.dummy Application.java com.test.dummy.components DummyClass.java ком. test.dummy.domain Project.java com.test.dummy.repositories ProjectRepository.java
Можете ли вы помочь мне understa Моя ошибка?
Примечание: Я использую Spring бутсу 1.4.1 и Монго 3.2
Ну ваш метод Application # прогон выглядит weired. Никогда не видел этого раньше. Можете ли вы удалить его и повторить попытку? Редактировать: хорошо это одето. Вы создаете объект с новым DummyClass(). Это противоречит принципам IoC и DI – smsnheck
Спасибо, ты совершенно прав. Дерьмо случается, когда у тебя нос к точильному камню ... ;-) –