我在下面的代码中在应用程序上下文中设置了applicationContext-dao.xml和applicationContext-service.xml。
<servlet>
<servlet-name>proj</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/config/proj-servlet.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>proj</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/applicationContext-dao.xml
/WEB-INF/config/applicationContext-service.xml
</param-value>
</context-param>
问题:为什么要在applicationContext和-servlet.xml中保留/WEB-INF/config/applicationContext-dao.xml和/WEB-INF/config/applicationContext-service.xml(proj-在这种情况下的servlet.xml)在webApplicationContext中。我们不能将所有文件保存在webApplicationContext.xml中吗?
答案 0 :(得分:3)
一般来说,这只是一个整洁的问题:配置文件可以在真正的大型应用程序中增长很多(数千行)。
此外,这种方法允许您将模块划分为一个大型应用程序,而无需拆分此文件。我曾在多个项目中工作,其中数据库访问层具有SOAP / REST API,并且多个前端应用程序通过该API获取任何所需数据,因此该服务部署为独立模块。
答案 1 :(得分:1)
你可以加入
/WEB-INF/config/applicationContext-dao.xml /WEB-INF/config/applicationContext-service.xml
的文件。没问题。但出于可读性和可维护性的原因,最好将不同的概念保存在不同的文件中。
但是,请始终将您的网络工作人员保存在webapplicationcontext的不同文件中。
答案 2 :(得分:0)
是的,您可以将它们保存在同一个文件中,但对于较大的项目,如果将它们分开则可以更容易维护。