Spring - Định nghĩa về hạt đậu
Các đối tượng tạo thành xương sống của ứng dụng của bạn và được quản lý bởi vùng chứa Spring IoC được gọi là beans. Bean là một đối tượng được khởi tạo, lắp ráp và quản lý bởi một vùng chứa Spring IoC. Các bean này được tạo bằng siêu dữ liệu cấu hình mà bạn cung cấp cho vùng chứa. Ví dụ, ở dạng định nghĩa XML <bean /> mà bạn đã thấy trong các chương trước.
Định nghĩa Bean chứa thông tin được gọi là configuration metadata, cần thiết cho vùng chứa biết những điều sau:
- Cách tạo hạt đậu
- Chi tiết về vòng đời của Bean
- Bean's phụ thuộc
Tất cả siêu dữ liệu cấu hình ở trên chuyển thành một tập hợp các thuộc tính sau đây tạo nên mỗi định nghĩa bean.
Sr.No. | Thuộc tính & Mô tả |
---|---|
1 | class Thuộc tính này là bắt buộc và chỉ định lớp bean được sử dụng để tạo bean. |
2 | name Thuộc tính này chỉ định mã định danh bean duy nhất. Trong siêu dữ liệu cấu hình dựa trên XML, bạn sử dụng thuộc tính id và / hoặc tên để chỉ định (các) định danh bean. |
3 | scope Thuộc tính này chỉ định phạm vi của các đối tượng được tạo từ một định nghĩa bean cụ thể và nó sẽ được thảo luận trong chương phạm vi bean. |
4 | constructor-arg Điều này được sử dụng để đưa vào các phụ thuộc và sẽ được thảo luận trong các chương tiếp theo. |
5 | properties Điều này được sử dụng để đưa vào các phụ thuộc và sẽ được thảo luận trong các chương tiếp theo. |
6 | autowiring mode Điều này được sử dụng để đưa vào các phụ thuộc và sẽ được thảo luận trong các chương tiếp theo. |
7 | lazy-initialization mode Một bean khởi tạo lười biếng yêu cầu vùng chứa IoC tạo một cá thể bean khi nó được yêu cầu lần đầu, thay vì lúc khởi động. |
số 8 | initialization method Một lệnh gọi lại được gọi ngay sau khi tất cả các thuộc tính cần thiết trên bean đã được thiết lập bởi vùng chứa. Nó sẽ được thảo luận trong chương vòng đời của đậu. |
9 | destruction method Một lệnh gọi lại sẽ được sử dụng khi vùng chứa chứa bean bị phá hủy. Nó sẽ được thảo luận trong chương vòng đời của đậu. |
Siêu dữ liệu cấu hình mùa xuân
Vùng chứa Spring IoC hoàn toàn được tách biệt khỏi định dạng mà siêu dữ liệu cấu hình này thực sự được viết. Sau đây là ba phương pháp quan trọng để cung cấp siêu dữ liệu cấu hình cho Spring Container:
- Tệp cấu hình dựa trên XML.
- Cấu hình dựa trên chú thích
- Cấu hình dựa trên Java
Bạn đã thấy cách siêu dữ liệu cấu hình dựa trên XML được cung cấp cho vùng chứa, nhưng chúng ta hãy xem một mẫu tệp cấu hình dựa trên XML khác với các định nghĩa bean khác nhau bao gồm khởi tạo lười biếng, phương thức khởi tạo và phương thức hủy -
<?xml version = "1.0" encoding = "UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- A simple bean definition -->
<bean id = "..." class = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with lazy init set on -->
<bean id = "..." class = "..." lazy-init = "true">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with initialization method -->
<bean id = "..." class = "..." init-method = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- A bean definition with destruction method -->
<bean id = "..." class = "..." destroy-method = "...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
Bạn có thể kiểm tra Ví dụ Spring Hello World để hiểu cách xác định, cấu hình và tạo Spring Beans.
Chúng ta sẽ thảo luận về Cấu hình Dựa trên Chú thích trong một chương riêng biệt. Nó được thảo luận chủ ý trong một chương riêng vì chúng tôi muốn bạn nắm được một vài khái niệm Spring quan trọng khác, trước khi bạn bắt đầu lập trình với Spring Dependency Injection with Annotations.