在Spring 3中组织类进行组件扫描的智能方法是什么?

我已经开始使用Spring 3开发一个新项目了,我正在使用注释。 我喜欢我可以连接我的类来注入依赖项,但我知道context:component-scan是一个不好的做法context:component-scan从基础包开始。

我正在使用DispatcherServlet ,它有自己的xml配置文件。 这也是一个context:component-scan 。 当我第一次开始学习Spring时,我的组件扫描中有重叠,并且多次创建了bean。 我想避免这种情况。

组织我的包或组件扫描以覆盖所有bean而不重复的好方法是什么?

目前我有这样的包:

 my.package.controller my.package.dao my.package.entity my.package.service my.package.util 

如果我在所有这些包中都有bean,那么似乎最简单的方法就是将放入applicationContext.xml并且完成它。

扫描调度程序的xml中的my.package.controller和my.package.controller中的其余部分(不包括my.package.controller)会更好吗?

或者我应该将所有注释的课程安排在一个区域,还有其他一些安排在另一个区域? 就像是:

 my.package.spring.controller my.package.spring.dao my.package.spring.entity my.package.spring.service my.package.spring.util my.package.notannotated my.package.notannotated2 

我正在使用@Autowired向大多数(如果不是全部)类添加日志记录,所以我不知道我将有任何不会被注释的类。

我讨厌陷入配置…我宁愿被困在代码中,所以如果有人可以提供任何提示,我会很乐意欢迎他们。

谢谢!

是 – 在主要上下文中扫描除控制器之外的所有内容

     

在DispatcherServlet上下文中,只扫描控制器包。