我的spring程序可以使用dispatcher-servlet.xml运行而不使用ContextLoaderListener和applicationcontext.xml吗?

时间:2011-12-10 18:45:44

标签: java spring spring-mvc

是否可以仅使用dispatcher-servlet.xml运行spring-orm程序。不使用ContextLoaderListenerapplicationcontext.xml?如果是,那么如何?

其次,为什么有必要在dispatcher-servlet.xml注册applicationcontext.xmlweb.xml?因为当这些文件没有在web.xml中注册时,所有的setter注入(在dispatcher-servlet.xmlapplicationcontext.xml中指定)都会在服务器启动时发生,这意味着这些xml文件正在加载而不在{ {1}}。

1 个答案:

答案 0 :(得分:1)

  

是否可以仅使用dispatcher-servlet.xml运行spring-orm程序。不使用ContextLoaderListener和applicationcontext.xml?

是的,没关系。

  

如果是,那么如何?

你就是这样做的。将您需要的所有内容放入dispatcher-servlet.xml,它将自行运行。虽然在applicationContext.xml中将DAO相关内容放在dispatcher-servlet.xml和MVC内容中是常见的做法,但这绝不是必需的。如果您选择,它们都可以放在一个文件中。

  

其次,为什么有必要在web.xml中注册dispatcher-servlet.xml或applicationcontext.xml?因为当这些文件未在web.xml中注册时,所有setter注入(在dispatcher-servlet.xml或applicationcontext.xml中指定)都在服务器启动时发生,这意味着这些xml文件正在加载而不在web.xml中注册。 / p>

因为如果你没有在web.xml中指定它们,Spring会使用它的默认值并且无论如何都要查找它们。 DispatcherServlet会查找<servlet-name>-servlet.xmlContextLoaderListener默认会查找/WEB-INF/applicationContext.xml。如果您愿意,可以在web.xml中覆盖此内容。