1. Bean với ApplicationContext là gì?

1.1. Bean là gì?

Trong documentation của Spring framework, thì bean được quan niệm nhỏng sau:

In Spring, the objects that size 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 dễ dàng, bean là số đông module chủ yếu của lịch trình, được tạo thành và cai quản vì chưng Spring IoC container.

Các bean rất có thể dựa vào lẫn nhau, như ví dụ về Car, Engine với ChinaEngine từ đầu series cho tới giờ đồng hồ. Sự nhờ vào này được trình bày mang lại IoC biết dựa vào chế độ Dependency injection.

Cách khắc ghi class là 1 bean thì mình đang trình bày trong bài xích tiếp sau. Trong thời điểm này chúng ta chỉ nên biết đơn giản dễ dàng độc nhất vô nhị là dùng
Component lên class là class đó là 1 trong những bean.

1.2. ApplicationContext là gì?

ApplicationContext là tư tưởng Spring Boot dùng làm chỉ Spring IoC container, tựa như như bean là đại diện thay mặt cho những dependency.

Trong khi chúng ta cũng có thể đã nghe nói tới BeanFactory. Nó cũng đại nhiều loại nhỏng ApplicationContext, thay mặt đến Spring IoC container dẫu vậy ở mức cơ bản. ApplicationContext thì ở tầm mức cao hơn nữa, cung cấp những thiên tài hơn BeanFactorgiống như i18n, resolving messages, publishing events,...

Xem thêm: Cuộc Sống Của Diễn Viên Ngọc Lan Sinh Năm, Tiểu Sử, Sự Nghiệp Và Đời Tư Nữ Diễn Viên

*

khi vận dụng Spring chạy, Spring IoC container sẽ quét toàn thể packages, tìm ra những bean với chuyển vào ApplicationContext. Cơ chế sẽ là Component scan, cũng trở thành được nói tới trong bài xích tiếp sau.

1.3. Cách mang bean ra từ Context

Tất nhiên trước lúc mang bean ra trường đoản cú context thì nên gồm context rồi

*

Có thể đọc bởi Spring Boot vẫn tra cứu thấy nhị bean tương xứng để inject vào Car. Do cả nhị VNEngine và ChinaEngine hầu như implements Engine, cơ mà Car phải Engine buộc phải ngần ngừ nên chọn chiếc làm sao.

3.2. Giải pháp

Có hai phương pháp giải quyết và xử lý vấn đề này. Thứ nhất là dùng
Primary khắc ghi lên một bean. lúc kia bean này sẽ tiến hành ưu tiên lựa chọn rộng, vào ngôi trường phù hợp có tương đối nhiều bean cân xứng vào context.


Component
Primarypublic class VNEngine implements Engine ...Cách 2 là hướng đẫn rõ tên bean (thương hiệu class) rõ ràng được inject bởi
Qualifier.


Componentpublic class Car
Autowired
Qualifier("VNEngine") // Phải khớp hoa thường luôn nhe private final Engine engine;Đối cùng với constructor giỏi setter based tương tự như, chỉ cần phải có
Qualifier trước thương hiệu field bắt buộc inject vào là được.

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


Java Spring Boot

Đã ĐK Bản quyền


Báo cáo
Mục lục

Không có mục lục


Tài ngulặng
Dịch Vụ Thương Mại
Ứng dụng di động cầm tay
*
*

*

Liên kết
Tiếng ViệtEnglish

No data