应该在applicationContext和dispatcherServlet中声明哪些bean

时间:2011-03-24 10:58:05

标签: java spring spring-mvc

最初我在dispatcher-servlet中声明了我的所有bean并且我的应用程序工作了。我真的需要一个applicationContext.xml文件吗?

2 个答案:

答案 0 :(得分:8)

您不一定需要它,但它是分离应用程序层的首选方法:

  • dispatcher-servlet.xml只有与网络相关的内容 - 控制器,视图解析器,转换器等。
  • applicationContext.xml中放置所有服务和daos以及其他常规配置

请注意,您必须声明一个侦听器,以便spring可以加载applicationContext.xml

<listener>
    <listener-class>
       org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

然后applicationContext.xml的上下文将成为父上下文,dispatcher-servlet.xml中的上下文将成为子上下文。孩子看到父母的豆子,但父母看不到孩子的那些。

另请注意,applicationContext.xml是默认名称。您可以通过contextConfigLocation <context-param>

更改名称或搜索路径

答案 1 :(得分:0)

每个人说不需要applicationContext.xml个文件。但是你确实需要一个xml文件,即使它只是告诉Spring自动加载应用程序中的所有bean。