Giả sử tôi có bean, phương thức init hoặc phương thức khởi tạo nào nên được gọi sau phương thức init của một bean khác. Có thể không?Làm thế nào để kiểm soát thứ tự của lời gọi phương thức init-bean trong Spring?
Trả lời
Sử dụng depends-on
thuộc tính trong mùa xuân tập tin bối cảnh XML:
<bean id="beanOne" class="ExampleBean" depends-on="manager">
<property name="manager"><ref local="manager"/></property>
</bean>
hoặc @DependsOn
chú thích trên đậu nếu bạn đang sử dụng chú thích.
Bạn có thể sử dụng thuộc tính de depends-on
trên bean thứ hai của mình.
tham khảo: http://static.springsource.org/spring/docs/1.2.x/reference/beans.html#beans-factory-dependson
Sử dụng @DependsOn
chú thích hoặc phụ thuộc-on thuộc tính nếu bạn đang sử dụng cấu hình xml.
Mùa xuân có còn tôn trọng chú thích 'javax.ejb.DependsOn' không? Tài liệu cho chú thích mùa xuân tương ứng có thể được tìm thấy tại http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/DependsOn.html –
phụ thuộc vào các công trình cho postInitializer? –
@fasttooth, câu hỏi hay. Tôi không biết câu trả lời chính xác. Nó * có thể * hoạt động bởi vì theo như tôi biết mùa xuân gọi tất cả các phương pháp xây dựng bài sau khi hệ thống dây điện, vì vậy có lẽ nó sử dụng cùng một thứ tự như được sử dụng cho hệ thống dây điện. Nhưng tôi không chắc chắn. – AlexR