В Spring два следующих оператора, если я не ошибаюсь, идентичны:
@RequestParam("type") String type
@RequestParam String type
Как Spring может узнать переменную название типа (вторая версия). Я был под впечатлением что эта информация была удалена из файлов классов, если она не скомпилирована с флаг -g (включить отладочную информацию).