Trung BìnhJava iconJava

@Bean và @Component khác nhau thế nào?

@Bean: đặt trên method trong @Configuration class, method trả về object được thêm vào container.

  • Kiểm soát tường minh quá trình tạo bean (logic khởi tạo phức tạp). @Component: đặt trên class, Spring tự instantiate qua default constructor.
  • Ưu tiên @Bean cho: thư viện bên thứ ba (không sửa được source), khởi tạo phức tạp, conditional bean.
  • Ưu tiên @Component cho: class của ứng dụng, auto-detection đơn giản.
  • Cả hai tạo singleton bean theo mặc định.

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java