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)
Advertisement
Answer
No you can’t, because Spring tries to instantiate it to create a Bean (@Service), but it’s an Interface, so thats not possible.