Không có hai vùng chứa riêng được tạo. Thông thường, bạn muốn mùa xuân để khởi tạo đối tượng được khai báo trong servlet-context.xml khi đối tượng được yêu cầu. Vì vậy, bạn ánh xạ tệp cấu hình servlet-context.xml tới Servatcher Dispatcher tức là bạn muốn khởi tạo đối tượng khi một yêu cầu truy cập servlet dispatcher.
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Trong trường hợp như, nếu bạn muốn khởi tạo đối tượng và thực hiện thao tác khi bối cảnh đang được nạp, bạn sẽ khai báo tập tin cấu hình với trong context-param
thẻ của bộ mô tả triển khai.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
Bạn có thể kiểm tra điều này bằng cách viết ra bằng cách tuyên bố đậu riêng biệt trong servlet-context.xml và gốc-context.xml và sau đó, autowiring chúng trong một tùy chỉnh Context Loader Listener lớp. Bạn sẽ chỉ tìm thấy các thể hiện của bối cảnh gốc được khởi tạo và các bean bối cảnh servlet là null.
Nguồn
2013-09-02 17:56:46
Chúng không tạo hai trường hợp vùng chứa khác nhau, thay vì hai bối cảnh ứng dụng khác nhau. –
Xem [bài đăng này] (http: // stackoverflow.com/q/7774295/1679863) –
Sau nhiều năm, tôi đã đọc mã nguồn của mùa xuân. Bây giờ, tôi có thể nói: 1) có, có hai trường hợp của ApplicationContext (mỗi trường hợp sẽ bao gồm một thể hiện của beanFactory) 2) thể hiện của lớp mvc là con và giữ một tham chiếu của cá thể mẹ. 3) đậu trong ví dụ mẹ có thể được sử dụng bởi trẻ em, nhưng đậu ở trẻ em không thể được sử dụng bởi cha mẹ. – lovespring