Вы по-прежнему проводите различие, в котором ничего не нужно делать. Все что угодно может быть введено - вы можете вызвать сущность, как хотите. Контроллер, служба, команда могут быть введены с сущностями, которые реализуют известный интерфейс, например, интерфейс команды, реализующий метод run
или любой другой.
Есть множество способов сделать это весной. Вы могли бы посоветовать совет АОП. Вы можете вводить списки «команд». Перехватывать звонки и / или веб-запросы, составлять наборы услуг, ...
До тех пор, пока вы не предоставите пример того, что вы на самом деле пытаетесь сделать, будет сложно предоставить что-либо, кроме общих. Поиски в сети приводят к появлению таких ресурсов, как this , что является лишь одним из способов сделать это.