有关Spring MVC组件扫描的问题

abi*_*eez 0 spring spring-mvc

我正在使用组件扫描来扫描所有Controller,Service和DAO类.如果我将我的服务和DAO接口与实现者放在同一个包中,这是否会导致组件扫描过程变慢(它会慢两倍)?它是否也扫描子包?

Tom*_*icz 6

是的,它会慢一些.但是,在设计包布局时,不应将此视为一个因素.让架构驱动类的放置,而不是一些任意的框架要求和特性.

如果您的应用程序非常庞大并且您希望缩短引导时间(参见4.10.3使用过滤器自定义扫描),您也可以过滤掉一些类/模式:

<context:component-scan base-package="org.example">
  <context:include-filter type="regex" expression=".*Stub.*Repository"/>
  <context:exclude-filter type="annotation"
                          expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
Run Code Online (Sandbox Code Playgroud)

是的,它确实扫描子包.