Я немного новичок в Spring, и я столкнулся с исключением нулевого указателя. Я считаю, что @Autowired
не работает в моем MongoRepository. По какой-то причине, когда я попробовал несколько примеров, это сработало. (Закомментированный код в функции запуска работал)
Это ошибка, которую я получаю:
2016-05-20 02: 31: 20.877 ОШИБКА 6272 --- [nio-8080-exec-2] oaccC [. [. [/]. [DispatcherServlet]: Servlet.service () для сервлета [dispatcherServlet] в контексте с path [] сгенерировал исключение [Ошибка обработки запроса; вложенное исключение - java.lang.NullPointerException] с основной причиной
java.lang.NullPointerException: null в com.applesauce.service.CustomerService.addCustomer (CustomerService.java:24) ~ [классы /: na]
Вы можете взглянуть и направить меня? Кроме того, пожалуйста, дайте мне знать, если я делаю что-то не так, в соответствии с лучшими практиками. Если вам нужна дополнительная информация, спрашивайте!
com.applesauce.controller
@RestController
@RequestMapping("/customer")
public class CustomerController {
private CustomerService customerService = new CustomerService();
@RequestMapping(value = "/addcustomer", method = RequestMethod.GET)
public Customer addCustomer(@RequestParam("firstName") String fName,
@RequestParam("lastName") String lName,
@RequestParam("email") String email,
@RequestParam("phoneNumber") String phoneNumber,
@RequestParam("source") String source){
return customerService.addCustomer(new Customer(fName,lName,email,phoneNumber,source));
}
}
com.applesauce.repository
@Repository
public interface CustomerRepository extends MongoRepository<Customer, String> {
public Customer findByFirstName(String firstName);
public List<Customer> findByLastName(String lastName);
}
com.applesauce.service
@EnableMongoRepositories(basePackages = "com.applesauce.repository")
public class CustomerService {
@Autowired
private CustomerRepository repository;
public Customer addCustomer(Customer customer){
repository.save(customer);
return customer;
}
}
CustomerService
не предназначен быть Spring@Service
? Вместо этого добавьте аннотации и не создавайте вручную, используйте@Autowired
. Кстати, вы должны удалить из своего вопроса весь посторонний код, который также включает все комментируемые строки. - person Xtreme Biker   schedule 20.05.2016