Các cấu trúc tập tin Maven có thể giúp với điều này
Về bản chất, các tệp cấu hình Spring (có thể có bất kỳ tên nào, không chỉ chung chung applicationContext.xml
) được coi là tài nguyên đường dẫn và được nộp theo src/main/resources
. Trong quá trình xây dựng, chúng sẽ được sao chép vào WEB-INF/classes
thư mục là nơi bình thường để các tệp này kết thúc.
Biến thể bao gồm một spring
thư mục bổ sung (ví dụ src/main/resources/spring
) để tách bối cảnh Spring khỏi các tài nguyên khác dành riêng cho khung ứng dụng. Bạn có thể muốn phân chia bối cảnh ứng dụng thành các lớp chuyên dụng, chẳng hạn như:
example-servlet.xml
example-data.xml
example-security.xml
và như thế.
Còn các môi trường khác nhau như dev / test / sản xuất thì sao?
Thông thường, cấu hình Spring của bạn sẽ chọn cấu hình môi trường từ môi trường, ahem, môi trường của nó. Thông thường, điều này có nghĩa là sử dụng JNDI, JDBC, các biến môi trường hoặc các tệp thuộc tính bên ngoài để cung cấp cấu hình cần thiết. Tôi liệt kê những thứ tự theo thứ tự ưu tiên vì JNDI thường dễ quản trị hơn các tệp thuộc tính bên ngoài trong cụm sản xuất được kiểm soát.
Trong trường hợp kiểm thử tích hợp, bạn có thể cần sử dụng tệp cấu hình Spring "chỉ kiểm tra". Điều này sẽ chứa các bối cảnh đặc biệt sử dụng đậu thử nghiệm hoặc cấu hình. Chúng sẽ được trình bày dưới src / test / resource và có thể có test-
tiền tố để đảm bảo rằng các nhà phát triển nhận thức được mục đích của họ. Một cách sử dụng thông thường sẽ là cung cấp Nguồn dữ liệu không phải JNDI có thể nhắm mục tiêu cơ sở dữ liệu HSQLDB trong quá trình kiểm tra tự động xây dựng và sẽ được tham chiếu trong trường hợp thử nghiệm.
Tuy nhiên, nói chung, phần lớn các tệp ngữ cảnh Spring của bạn không cần sửa đổi chuyên biệt khi chúng di chuyển giữa các tầng. Nó phải là trường hợp cùng một tạo phẩm xây dựng (ví dụ: tệp WAR) được sử dụng trong dev / test / sản xuất chỉ với các thông tin khác nhau.