Не пытаясь разобраться в вашей терминологии, я скажу, что в Java (и я думаю, вы увидите, как это обычно применяется) обычно используется следующая структура:
Контроллеры отображаются на URL,и проверить параметры.Они делегируют бизнес-логику классам обслуживания.Классы обслуживания возвращают модели, которые контроллер передает в представление для визуализации.
Классы обслуживания зависят от уровня dao / repository, который выполняет поиск в базе данных для получения объектов модели и применяет к ним некоторую бизнес-логику.
Итак, вернемся к вашему примеру.контроллеры, которые взаимодействуют с бизнес-уровнем.Идея состоит в том, чтобы не допустить бизнес-логики в контроллер и в слои dao.