首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们在applicationContext.xml和dispatcher-servlet.xml中分别声明</context:component-scan>

为什么我们在applicationContext.xml和dispatcher-servlet.xml中分别声明</context:component-scan>
EN

Stack Overflow用户
提问于 2016-01-22 02:55:34
回答 1查看 702关注 0票数 3

为什么有时我们单独声明context:component-scan

在applicationContext.xml中,我们声明如下:

<ctx:component-scan base-package="com.*"> <ctx:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </ctx:component-scan>

在dispatcher-servlet.xml中,我们声明如下:

<context:component-scan base-package="com.*.*.controller.*" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>

为什么我们不直接在applicationContext.xml中声明如下:

<context:component-scan base-package="com.*"/>

然后将检测到带注释的所有组件@Controller、@Service、@Repository

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-27 07:21:52

这种分离是为了允许定义多个dispatcher servlet和重用核心业务组件。

通常,您将在application-context.xml中定义存储库和服务,并绑定到整个servlet上下文(通过使用ContextLoaderListener),并定义一个或多个dispatcher servlet,每个servlet都具有自己的(子)上下文(由控制器和mvc实用组件组成),它们将重用父上下文中的相同bean。

我想说,即使只有一个调度程序,这种分离也是有意义的,因为它迫使您将“核心域”与应用程序层隔离开来。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34938213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档