Проблема при подключении Spring boot с MongoDB

#java #mongodb #spring-boot #gradle

#java #mongodb #spring-boot #gradle

Вопрос:

Я хочу подключить mongodb к spring project. Но я столкнулся с исключением NullPointerException. Как я могу использовать save() в интерфейсе MongoRepository? Должен ли я создать конкретный класс и переопределить его?

об интерфейсе MongoRepository: https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/repository/MongoRepository.html

Я мало что знаю о Java, Spring, DI (внедрение зависимостей).😭

 [Test.java]

@SpringBootTest
class PatientsServiceTest {

    private PatientsService patientsService = new PatientsService();

    @Test
    void save() {
        Patients patient = new Patients();
        
        ~~~ object patient initialize ~~~

        patientsService.save(patient);
    }
}
  
 [PatientsService.java]

@Service
public class PatientsService {

    @Autowired
    public PatientsRepository patientsRepository; // <- Null exists

    public void save(Patients patients){
        

        ~~~ additional codes ~~

        
        patientsRepository.save(patients);
    }
}
  
 [PatientsRepository.java]

@Repository
public interface PatientsRepository extends MongoRepository<Patients, String> {
    public Patients findBySSN(String SSN);
}

  

сообщения об ошибках

Комментарии:

1. Является ли строка 42 класса PatientsServiceTest той, которая вызывает patientsService.save(patient); ?

2. Что произойдет, если вы автоматически подключите свой PatientsService в своем тесте вместо того, чтобы создавать экземпляр самостоятельно?

3. Вы должны автоматически подключить private PatientsService patientsService = new PatientsService(); вот так @Автоматически подключенный private PatientsService patientsService;

4. Можете ли вы также опубликовать свой класс entity? Есть ли у него первичный ключ? Кроме того, можете ли вы дважды проверить свойства подключения к вашей БД?

5. @VishalPawar Это работает! спасибо