Cách chính xác để chia cấu hình của Spring thành nhiều tệp xml là gì?Tách ứng dụngTiếp theo nhiều tệp
Tại thời điểm này tôi có
/WEB-INF/foo-servlet.xml
/WEB-INF/foo-service.xml
/WEB-INF/foo-persistence.xml
My web.xml
có sau đây:
<servlet>
<description>Spring MVC Dispatcher Servlet</description>
<servlet-name>intrafest</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/foo-*.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/foo-*.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Những câu hỏi thực tế:
- Là cách tiếp cận này đúng/tốt nhất?
- Tôi có thực sự cần chỉ định vị trí cấu hình cả trong các phần
DispatcherServlet
VÀ các phầncontext-param
không?
Tôi cần lưu ý điều gì để có thể tham chiếu các hạt được xác định trong foo-servlet.xml
từ foo-service.xml
? Điều này có liên quan đến việc chỉ định contextConfigLocation
trong web.xml
không?
Cập nhật 1:
Tôi đang sử dụng Xuân khuôn khổ 3.0. Tôi hiểu rằng tôi không cần phải nhập tài nguyên như thế này:
<import resource="foo-services.xml"/>
Đây có phải là giả định chính xác không?
+1 - thiết lập của tôi trông giống như thế này. Mặc dù tôi không nghĩ rằng thực sự có bất kỳ lợi thế/nhược điểm thực tế nào với thiết lập này so với chỉ định nhiều tệp cấu hình trong web.xml - nó có vẻ như ngữ nghĩa –
Tôi chắc chắn rằng cấu hình mặc định là thuận lợi: quy ước trên cấu hình. Thay vì chỉ định nhiều tệp cấu hình với * cấu hình phụ *, bạn chỉ có một tệp cấu hình * mặc định * "cấp cao nhất" sẽ nhập các tệp tương tự mà bạn sẽ phải chỉ định. – eljenso
Khi bạn đang sử dụng nhập khẩu, hãy cẩn thận không nhập cùng một tệp nhiều lần, (nhập vào bên trong nhập và vv) vì nó sẽ khiến nhiều hạt được tạo và sẽ dẫn đến lỗi khó tìm. –