если роутеры не нужны, зачем их заводить - мне бы использовать аннотацию как некие регистраторы(или декораторы для методов)
Могу ошибаться, но вроде это работает через рефликсию. Т.е. перед запуском проекта прогоняются классы в папках, считываются аннотации/докблоки/атрибуты. По ним выстраивается дополнительный функционал, который выстраивается налету в файлы (кэш).