Если вы создаете любой компонент с использованием нового ключевого слова, которое не будет добавлено в контекст приложения Spring, поэтому Coach coach = new TennisCoach ();не добавлено в контекст приложения.Так что класс TennisCoach не признает Autowired FortuneService.
вы можете сделать Autowired, используя Constructor, экземпляр Coach добавляется в качестве аргумента в конструктор при создании Luv2CodeAnnotationApplication.
Ниже приведен измененный код
@ SpringBootApplication
открытый класс Luv2CodeAnnotationApplication {
private static Coach coach;
private static final Logger logger = LoggerFactory.getLogger(Luv2CodeAnnotationApplication.class);
@Autowired
public Luv2CodeAnnotationApplication(Coach coach) {
Luv2CodeAnnotationApplication.coach = coach;
}
public static void main(String[] args) {
SpringApplication.run(Luv2CodeAnnotationApplication.class, args);
//Coach coach = new TennisCoach();
logger.info(coach.getDailyWorkout());
logger.info(coach.getDailyFortune());
}
}