Added an AbstractRestController which makes the implementing controllers very simple. The abstract controller autowires an IDAO of the generic type passed in in the extends clause, making the implementation modular enough.