2014-06-13 14 views
5

tôi đang làm việc trên một ứng dụng doanh nghiệp thực sự lớn, với vài nghìn hạt và biểu đồ phụ thuộc lớn giữa các lớp. Chúng tôi đang sử dụng Spring 3, với các trường @Autowired (autowiring trong constuctor).Tự động xây dựng ApplicationContext từ mã/nhận phụ thuộc

Tôi đang cố gắng tạo một thử nghiệm tích hợp cho một trong các bộ điều khiển, có nhiều phụ thuộc, mỗi phụ thuộc có nhiều phụ thuộc hơn, vv Không thể tạo định nghĩa xml của các lớp cần giải quyết của cấu trúc dự án xấu và biểu đồ phụ thuộc - do đó tôi không thể xây dựng ApplicationContext ...

Điều tôi đang cố gắng là quét các trường trong một lớp và nếu chúng là bean (Thành phần, Dịch vụ, v.v ...), thêm chúng vào ApplicationContext từ mã.

tôi có thể lặp qua các trường lớp trong một hàm đệ quy với relfection tôi đoán, và thêm đậu vào appcontext, nhưng tôi không có ý tưởng như thế nào ...

Làm thế nào tôi có thể làm điều này? Điều này có khả thi không?

+0

cách xây dựng bối cảnh ứng dụng với khởi tạo lười biếng của bean? –

+0

Ý của bạn là gì? Vui lòng thêm một số chi tiết :) – Ezzored

Trả lời

0

Trừ khi tôi thiếu điều gì đó, bạn đang cố giải quyết vấn đề sai. Nếu cấu trúc mô-đun của bạn ở trạng thái đó, cố gắng xây dựng bối cảnh động sẽ không giúp bạn vì cuối cùng bạn sẽ tải khá nhiều ứng dụng.

Tôi khuyên bạn nên tạo một ngăn xếp "cấp thấp" chung cho ứng dụng của bạn: một thứ gì đó hợp lý và được xác định rõ ràng bằng các mô-đun riêng biệt. Một khi bạn đã có, bắt đầu tạo ra ranh giới cho các tính năng chính và cố gắng chỉ tải chúng.

Nếu bạn không thể làm điều đó, bạn vẫn có thể tải ngữ cảnh ứng dụng thử nghiệm bằng cách sử dụng mocks để cắt các phụ thuộc trong biểu đồ của bạn. Trong mọi trường hợp, việc khám phá các lĩnh vực để dây dọc theo con đường sẽ không mua cho bạn bất cứ điều gì.

+0

Bạn hoàn toàn đúng. Đó là giải pháp mà chúng tôi đã đề xuất, và nó đã bị từ chối, vì số lượng công việc cần được thực hiện để đạt được điều này ... Sử dụng mocks: vâng, đó là những gì chúng tôi đã sử dụng cho đến nay, và đây chỉ là một công việc thăm dò để xem liệu "mã thực" có thể được sử dụng trong int. kiểm tra hay không ... – Ezzored

Các vấn đề liên quan