Mysql
 sql >> Baza danych >  >> RDS >> Mysql

jdbcTemplate ma wartość null i zgłasza wyjątek wskaźnika zerowego

W swoim kontrolerze tworzysz nowy UserDaoImpl :

@RequestMapping(method = RequestMethod.GET, value="/{userId}", produces = {MediaType.APPLICATION_JSON_VALUE})
ResponseEntity<User> getUser(@PathVariable int userId){
    UserDaoImpl user = new UserDaoImpl(); // <-- HERE
    User u = new User();
    u=user.getUser(userId);
    return new ResponseEntity<User>(u, HttpStatus.OK);
}

Ten UserDaoImpl nie jest zarządzany przez spring i nie jest skonfigurowany/autowired. Powinieneś wstrzyknąć do swojego kontrolera instancję UserDao skonfigurowaną w xml :

  @Autowired
  private UserDao userDao;

  @RequestMapping(method = RequestMethod.GET, value="/{userId}", produces = {MediaType.APPLICATION_JSON_VALUE})
ResponseEntity<User> getUser(@PathVariable int userId){
    User u = userDao.getUser(userId);
    return new ResponseEntity<User>(u, HttpStatus.OK);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nadaj priorytet jednej kolumnie nad drugą

  2. Pokaż zapytanie SQL kontrolera

  3. Laravel Eloquent zaznacz wszystkie wiersze z maks. created_at

  4. Używając Fetch w reakcji, potrzebujesz hasła do nazwy użytkownika, aby uzyskać dostęp do bazy danych

  5. Problemy z bazą danych Laravel Homestead Vagrant Box