Mysql
 sql >> Datenbank >  >> RDS >> Mysql

jdbcTemplate ist null und löst eine Nullzeiger-Ausnahme aus

In Ihrem Controller erstellen Sie ein neues 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);
}

Dieses UserDaoImpl wird nicht von Spring verwaltet und nicht konfiguriert/automatisch verdrahtet. Sie sollten die in XML konfigurierte Instanz von UserDao in Ihren Controller einfügen:

  @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);
}