Mẹo nhỏ - Tôi thấy hữu ích khi mô đun hóa và gắn nhãn rõ ràng các tệp ngữ cảnh Spring xml của tôi dựa trên mối quan tâm của ứng dụng. Dưới đây là một ví dụ cho một ứng dụng web tôi làm việc trên:
MyProject/src/main/resources/spring /
- datasource.xml - single đậu nguồn dữ liệu của tôi.
- persistence.xml - DAO/kho lưu trữ của tôi. Phụ thuộc vào
datasource.xml
đậu.
- services.xml - Triển khai lớp dịch vụ. Đây thường là những hạt mà tôi áp dụng giao dịch bằng AOP. Phụ thuộc vào
persistence.xml
đậu.
- controllers.xml - Bộ điều khiển MVC Spring của tôi. Phụ thuộc vào
services.xml
đậu.
- lượt xem.xml - Triển khai chế độ xem của tôi.
Danh sách này không hoàn hảo hoặc không đầy đủ, nhưng tôi hy vọng nó minh họa điểm. Chọn bất kỳ chiến lược đặt tên và chi tiết nào phù hợp nhất với bạn.
Trong tôi kinh nghiệm (giới hạn), tôi đã nhìn thấy phương pháp này năng suất các lợi ích sau:
rõ hơn kiến trúc
tên Rõ ràng file bối cảnh cho những người không quen với cấu trúc dự án của bạn một nơi hợp lý để bắt đầu tìm kiếm các định nghĩa bean. Có thể phát hiện các phụ thuộc tròn/không mong muốn dễ dàng hơn một chút.
Giúp thiết kế miền
Nếu bạn muốn thêm một định nghĩa bean, nhưng nó không phù hợp tốt trong bất kỳ tập tin ngữ cảnh của bạn, có lẽ có một khái niệm mới hoặc mối quan tâm mới nổi? Ví dụ:
- Giả sử bạn muốn thực hiện giao dịch lớp dịch vụ của mình với AOP. Bạn có thêm các định nghĩa bean đó vào
services.xml
hoặc đặt chúng trong số transactionPolicy.xml
của riêng chúng không? Nói chuyện với đội của bạn. Chính sách giao dịch của bạn có nên được kết nối không?
- Thêm hạt an ninh Acegi/Spring vào tệp
controllers.xml
của bạn hoặc tạo tệp ngữ cảnh security.xml
? Bạn có yêu cầu bảo mật khác nhau cho các triển khai/môi trường khác nhau không?
Tích hợp thử nghiệm
Bạn có thể dây lên một tập hợp con của ứng dụng của bạn để thử nghiệm hội nhập (ví dụ: cho các tập tin trên, để kiểm tra cơ sở dữ liệu bạn cần để tạo ra chỉ datasource.xml
và persistence.xml
đậu).
Cụ thể, bạn có thể chú thích một lớp thử nghiệm hội nhập như vậy:
@ContextConfiguration(locations = { "/spring/datasource.xml" , "/spring/persistence.xml" })
trình tốt với Đậu Xuân IDE của Graph
Có rất nhiều tác phẩm bối cảnh tập trung và nổi tên làm cho nó dễ dàng để tạo BeansConfigSets tùy chỉnh để trực quan hóa các lớp ứng dụng của bạn bằng cách sử dụng Beans Graph của Spring IDE. Tôi đã sử dụng điều này trước đây để cung cấp cho các thành viên nhóm mới một cái nhìn tổng quan cấp cao về tổ chức của ứng dụng của chúng tôi.
Nguồn
2008-08-16 21:12:19
Có phải là cả hai cùng một lúc? Việc giải quyết từng người một sẽ dễ dàng hơn nếu bạn mới làm quen với cả hai (không rõ ràng nếu Java EE là mới đối với bạn). – SteveD