Bean là gì

1. Bean cùng ApplicationContext là gì?

1.1. Bean là gì?

Trong documentation của Spring framework, thì bean được quan niệm nlỗi sau:

In Spring, the objects that khung the backbone of your application và that are managed by the Spring IoC container are called beans. A bean is an object that is instantiated, assembled, và otherwise managed by a Spring IoC container.

Bạn đang xem: Bean là gì

Nói một phương pháp đơn giản và dễ dàng, bean là đầy đủ module chủ yếu của chương trình, được tạo nên cùng quản lý bởi vì Spring IoC container.

Các bean hoàn toàn có thể phụ thuộc vào lẫn nhau, nhỏng ví dụ về Car, Engine với ChinaEngine từ đầu series cho tới giờ. Sự phụ thuộc này được biểu hiện mang đến IoC biết nhờ vào cách thức Dependency injection.

Cách khắc ghi class là 1 trong những bean thì mình vẫn trình bày vào bài bác tiếp theo. Hiện nay chúng ta chỉ cần biết dễ dàng độc nhất vô nhị là dùng
Component lên class là class đó là 1 bean.

1.2. ApplicationContext là gì?

ApplicationContext là quan niệm Spring Boot dùng để chỉ Spring IoC container, tương tự như như bean là đại diện cho các dependency.

Hình như chúng ta có thể sẽ nghe nói về BeanFactory. Nó cũng đại một số loại nhỏng ApplicationContext, thay mặt đại diện mang lại Spring IoC container mà lại tại mức cơ bản. ApplicationContext thì ở tầm mức cao hơn nữa, cung ứng những công dụng rộng BeanFactorhệt như i18n, resolving messages, publishing events,...

Xem thêm: Cây Sầu Riêng Trồng Ở Đâu Ngon Nhất, (Giải Đáp)

*

khi áp dụng Spring chạy, Spring IoC container đang quét toàn bộ packages, đưa ra những bean cùng đưa vào ApplicationContext. Cơ chế đó là Component scan, cũng biến thành được nói đến vào bài tiếp theo sau.

1.3. Cách mang bean ra tự Context

Tất nhiên trước khi đem bean ra từ context thì cần có context rồi

*

Có thể đọc vày Spring Boot vẫn kiếm tìm thấy nhị bean phù hợp để inject vào Car. Do cả hai VNEngine và ChinaEngine hầu như implements Engine, nhưng Car đề xuất Engine đề xuất do dự hãy chọn mẫu làm sao.

3.2. Giải pháp

Có nhị bí quyết giải quyết vụ việc này. Thđọng độc nhất vô nhị là dùng
Primary khắc ghi lên một bean. Khi kia bean này sẽ được ưu tiên lựa chọn hơn, vào ngôi trường hợp có tương đối nhiều bean cân xứng trong context.


Component
Primarypublic class VNEngine implements Engine ...Cách 2 là chỉ định rõ tên bean (tên class) cụ thể được inject bởi
Qualifier.

Xem thêm: Iphone 7G Là Gì, Có Nên Mua Iphone 7G Hay Không? Shopee Việt Nam


Componentpublic class Car
Autowired
Qualifier("VNEngine") // Phải khớp hoa hay luôn nhe private final Engine engine;Đối cùng với constructor xuất xắc setter based cũng giống như, chỉ cần có
Qualifier trước tên field đề xuất inject vào là được.

Okay nỗ lực là nội dung bài viết lúc này sẽ xong. Hai bài viết về bean với context của chính mình hi vọng đang mang lại đến chúng ta đủ những kỹ năng và kiến thức cơ bạn dạng để đi tiếp phần đông phần sau của series. Cảm ơn và lưu giữ upvote hoặc clip nhằm cỗ vũ bản thân nhé. Thân!


Java Spring Boot

All Rights Reserved


Report
Table of contents

Have no Table of contents


Resources
Services
di động App
*
*

*

Links

Chuyên mục: Hỏi Đáp