Issue
I created a interface which has not any implementations
@Service
public interface MyInterface{
default void doSomething{
System.out.print("print something");
}
}
Can MyInterface be annotated by @Autowired?
@Autowired
MyInterface myInterFace;
following error displayed when it run
***************************
APPLICATION FAILED TO START
***************************
Description:
Field myInterFace in com.example.demo.controller.corejava.CoreJavaController required a bean of type 'com.example.demo.controller.corejava.MyInterface' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Solution
No you can't, because Spring tries to instantiate it to create a Bean (@Service), but it's an Interface, so thats not possible.
Answered By - OliAtMtrail
Answer Checked By - David Goodson (JavaFixing Volunteer)