Java – @ bean is different from @ Autowired

Why can't I use @ Autowired in this case

@SpringBootApplication
public class Application {

    @Autowired
    BookingService bookingService;

    public static void main(String[] args) {
        bookingService.book("Alice","Bob","Carol");
    }
}
@SpringBootApplication
public class Application {

    @Bean
    BookingService bookingService() {
        return new BookingService();
    }

    public static void main(String[] args) {
        ApplicationContext ctx = SpringApplication.run(Application.class,args);
        BookingService bookingService = ctx.getBean(BookingService.class);
        bookingService.book("Alice","Carol");
    }
}

Solution

@Bean and @ Autowired do two very different things Other answers are explained in more detail here, but at a simpler level: @ h_ 404_ 4 @ > @ bean tells spring that this is an instance of this class. Please keep it and give it back when I ask '

@SpringBootApplication
public class Application {

  @Autowired
  BookingService bookingService;

  @Bean
  BookingService bookingService() {
    return new BookingService();
  }

  public static void main(String[] args) {
    bookingService.book("Alice","Carol");
  }
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>