开发者

which beans should be declared in applicationContext and dispatcherServlet

Initially I declared all my beans in dispatcher-servlet and my application worked. Do I really need to have an applicationConte开发者_如何学编程xt.xml file?


You don't necessarily need it, but it is a preferred way to separate application layers:

  • in dispatcher-servlet.xml place only web-related stuff - controllers, view resolvers, converters, etc.
  • in applicationContext.xml put all services and daos, and other general configurations

Note that you'll have to declare a listener so that spring can load applicationContext.xml:

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

Then the context from applicationContext.xml will be the parent context, and the one in dispatcher-servlet.xml will be the child context. The child sees the beans in the parent, but the parent does not see those in the child.

Also note that applicationContext.xml is a default name. You can change the name or the path where it is seeked via the contextConfigLocation <context-param>


You don't need an applicationContext.xml file per-say. But you do need a xml file, even if it is only to tell Spring to auto-load all the beans in your application.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜