背景&要求是:
我目前正在使用:
@Configuration
@ImportResource({"classpath:/applicationContext.xml", "classpath:/dispatcher-servlet.xml"})
那些不使用jndi的简单项目可以启动。
但正如我的理解,在这种情况下,applicationContext和dispatcher-servlet处于同一级别(dispatcher-servlet应该是applicationContext的子节点,不是吗?)。所以,我甚至无法确保这个工作正常。
答案 0 :(得分:0)
我们在一年前做了类似的事情,你的设置与我们的设置大致相同,导入这些XML文件就可以了。我们唯一要做的就是确保我们的应用程序类位于不同的包层次结构中,以避免由于其固有的@ComponentScan
而导致冲突/重复的bean定义。
在同一个上下文中使用调度程序servlet和应用程序上下文不会导致任何问题 - 是的,调度程序servlet的上下文通常被定义为一个单独的上下文,并且是更广泛的applicationContext的子项,但是大多数人都没有掌握的是如果你的应用程序想拥有多个调度程序servlet,那么这种分离只会很重要,如果有的话,这种情况很少发生。
在多个调度程序servlet的情况下,必须使它们具有不同的WebMVC配置,并且applicationContext允许您在servlet上下文之间共享公共bean和配置,这样您就不必执行相同的操作工作两次。