Tôi đã tìm kiếm trên mạng để có giải thích về chế độ thừa kế của bộ phun và cách/khi sử dụng createChildInjector(), nhưng tôi không thể tìm thấy lời giải thích rõ ràng và súc tích.Injector Hierarchy/Child Injector giải thích?
Đây là trường hợp sử dụng của tôi:
- Tôi có một mô-đun ứng dụng cơ sở mà tôi sử dụng để tiêm mục bối cảnh nhất định. Mô-đun này nên được bao gồm trong mỗi trường hợp phun.
- Tôi có một mô-đun tìm kiếm tìm kiếm cơ sở dữ liệu
- Tôi có một mô-đun tìm kiếm tìm kiếm Tìm kiếm Đàn hồi. Một số các ràng buộc trong lớp này sẽ ghi đè lên các ràng buộc được cung cấp trong mô-đun tìm kiếm cơ sở dữ liệu.
Ví dụ, nói module tìm kiếm cơ sở dữ liệu chứa:
bind(PlaceSearch.class).to(HibernatePlaceSearch.class);
bind(PersonSearch.class).to(HibernatePersonSearch.class);
Và module ElasticSearch chứa:
bind(PersonSearch.class).to(PersonElasticSearch.class);
Có cách nào để tạo ra một vòi phun bao gồm PlaceSearch ràng buộc từ mô-đun tìm kiếm cơ sở dữ liệu và ràng buộc PersonSearch từ mô-đun Tìm kiếm Đàn hồi mà không cần tạo mô-đun riêng có chứa
bind(PlaceSearch.class).to(HibernatePlaceSearch.class);
bind(PersonSearch.class).to(PersonElasticSearch.class);
? Đây có phải là một trường hợp cho Modules.override()? Một trường hợp cho createChildInjector? Cảm ơn trước!
Cảm ơn câu trả lời. Bạn có thể cho tôi một lời giải thích về những gì chính xác một con injector là? Hoặc chỉ cho tôi một tài liệu tham khảo tốt? Tôi không chắc tôi hoàn toàn hiểu khái niệm về tiêm chích trẻ em. – jcampos8782
Khái niệm tiêm trẻ được giải thích khá rõ trong câu trả lời này: http://stackoverflow.com/a/12774246/205866 – racc