这样做是否可以,因为它将包括应用程序中用于组件扫描的所有包和子包?
<context:annotation-config />
<context:component-scan base-package="rootpackage" />
或者有选择扫描哪些包的原因吗?
。
<context:annotation-config />
<context:component-scan base-package="rootpackage.abc" />
<context:component-scan base-package="rootpackage.def" />
<!--<context:component-scan base-package="rootpackage.ghi" /> --> Omit? Why?
为什么要从扫描中省略包呢?
是的,这是不好的做法。
如果组件可以出现在任何包中,那么源代码库的读者需要在每个类中搜索Spring注释,而不是只在"组件"包和"控制器"包中查找。
另外,您不应该在包结构中分散使用Spring组件。将类分组到有意义的包中,并且只公开这些包。
如果您有几个配置,那么选择是有意义的。例如dispatcher-servlet.xml
、applicationContext-common-business.xml
、applicationContext-security.xml
等