publicinterfaceAnimal{voidsayHello();}@ComponentpublicclassDogimplementsAnimal{@OverridepublicvoidsayHello(){System.out.println("Hello, I am a dog!");}}@ComponentpublicclassCatimplementsAnimal{@OverridepublicvoidsayHello(){System.out.println("Hello, I am a cat!");}}@ComponentpublicclassAnimalService{@AutowiredprivateAnimal dog;@Resource(name ="cat")privateAnimal cat;publicvoidsayHello(){
dog.sayHello();
cat.sayHello();}}@SpringBootApplicationpublicclassMyApp{publicstaticvoidmain(String[] args){ApplicationContext context =SpringApplication.run(MyApp.class, args);AnimalService animalService = context.getBean(AnimalService.class);
animalService.sayHello();}}