I just heard from my Senior that I can not instantiate the concrete class as Singleton without using an interface in dependency injection even though I added the @Singleton annotation on that concrete class and it seamlessly work in the system. But doing that way, multiple instances of class is created instead, he mentioned. 

I am working with Play Scala framework with Guice DI by the way.

I tried googling to verify if true but I can't find answer.

Can someone give me a concrete explanation? In java I can create a Singleton class without interface.