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