When we annotate a class as `@Autowired`, does it HAVE to be a interface or can it be a class? 

All the examples of using Spring I have seen, use an interface and then implement it on a class. The interface type is then used to call a function on the Concrete class. Can we not just simply add `@Autowired` to a concrete class rather than an interface. 

I know of the Programme to a interface analogy in JAVA, but if u are not depending on Polymorphism, then why to write an interface?