【发布时间】:2011-10-21 01:05:28
【问题描述】:
我已经开始使用 Spring 3 开发一个新项目,并且我正在使用注释。我喜欢我可以连接我的类来注入依赖项,但我知道让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,那么简单的方法似乎是将 <context:component-scan base-package="my.package"></context:component-scan> 放入 applicationContext.xml 并完成它。
在调度程序的 xml 中扫描 my.package.controller 并在 applicationContext.xml 中扫描其余部分(不包括 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 将日志记录添加到我的大部分类(如果不是全部的话),所以我不知道我会有任何不会被注释的类。
我讨厌卡在配置上...我宁愿卡在代码中,所以如果有人可以提供任何提示,我很乐意欢迎他们。
谢谢!
【问题讨论】:
标签: java spring annotations