TelegramController ts = new TelegramController();
но обратил внимание что не инжектится репозиторий, точнее при отладке его значение равно Null
Конечно не инжектятся, вы же их в конструктор объекта, который
руками создаете, не добавляете!
Autowiring -- инструмент DI-контейнера, то есть если контроллер создается из контейнера, то он получит все зависимости. В Spring все вращается вокруг контейнера зависимостей, вы в таком случае создаете сервис, указываете зависимости, а уже контейнер собирает ваш сервис.
Но в данном случае вы контроллер руками создали, значит все зависимсоти будьте добры ручкам и обеспечьте объекту. НО! Использовать контроллеры как сервисы изнутри других контроллеров (и любых других слоев приложения, а не фреймворка) не верно и очень путает, за все время видел тольк один такой случай для горячей подмены на время переезда.
Если хотите переиспользовать логику:
Логика должна быть не в другом контроллере, а в некотором сервисе (объекте), который бы вы вызывали из двух (и более) контроллеров. Тогда все бы легко и ПОНЯТНО работало бы и инжектилось.