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 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, and otherwise managed by a Spring IoC container.

Bạn đang xem: Spring bean là gì

Nói một biện pháp đơn giản dễ dàng, bean là đông đảo module thiết yếu của công tác, được tạo ra với thống trị vị Spring IoC container.

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

Cách ghi lại class là một bean thì bản thân đang trình bày vào bài tiếp sau. Trong thời điểm này các bạn chỉ cần biết dễ dàng và đơn giản độc nhất vô nhị là cần sử dụng
Component lên class là class kia là 1 bean.

1.2. ApplicationContext là gì?

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

Bên cạnh đó bạn cũng có thể vẫn nghe nói tới BeanFactory. Nó cũng đại các loại nlỗi ApplicationContext, thay mặt đại diện mang lại Spring IoC container nhưng mà ở tại mức cơ bạn dạng. ApplicationContext thì ở tại mức cao hơn nữa, hỗ trợ các hào kiệt rộng BeanFactory như i18n, resolving messages, publishing events,...

Xem thêm: Nghĩa Của Từ Laparoscopy Là Gì ? Nghĩa Của Từ Laparoscopy Trong Tiếng Việt

*

Khi ứng dụng Spring chạy, Spring IoC container sẽ quét toàn cục packages, đưa ra các bean và chuyển vào ApplicationContext. Cơ chế sẽ là Component scan, cũng trở thành được nói đến vào bài tiếp theo sau.

1.3. Cách đem bean ra tự Context

Tất nhiên trước lúc lấy bean ra tự context thì nên có context rồi

*

cũng có thể gọi bởi Spring Boot sẽ tra cứu thấy hai bean phù hợp nhằm inject vào Car. Do cả nhị VNEngine với ChinaEngine phần đông implements Engine, cơ mà Car buộc phải Engine buộc phải đo đắn nên chọn dòng nào.

3.2. Giải pháp

Có hai cách giải quyết và xử lý sự việc này. Thứ tuyệt nhất là dùng
Primary lưu lại lên một bean. Khi kia bean này sẽ tiến hành ưu tiên chọn hơn, vào trường vừa lòng có rất nhiều bean phù hợp trong context.


Component
Primarypublic class VNEngine implements Engine ...Cách 2 là chỉ định rõ thương hiệu bean (thương hiệu class) ví dụ được inject bằng
Qualifier.


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

Okay cố kỉnh là bài viết lúc này đang xong xuôi. Hai bài viết về bean với context của chính mình hy vọng đang mang lại mang lại các bạn đủ những kiến thức cơ bản nhằm đi tiếp gần như phần sau của series. Cảm ơn cùng lưu giữ upvote hoặc clip nhằm ủng hộ mình nhé. Thân!


Java Spring Boot

Đã đăng 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 cầm tay
*
*

*

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

No data

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *