加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:51:12 所属栏目:Java 来源:网络整理
导读:我已经开始使用 Spring 3开发一个新项目了,我正在使用注释.我喜欢我可以连接我的类来注入依赖项,但我知道上下文是一个不好的做法:组件扫描从基础包开始. 我正在使用DispatcherServlet,它有自己的xml配置文件.这也是一个上下文:组件扫描.当我第一次开始学习
我已经开始使用 Spring 3开发一个新项目了,我正在使用注释.我喜欢我可以连接我的类来注入依赖项,但我知道上下文是一个不好的做法:组件扫描从基础包开始.

我正在使用DispatcherServlet,它有自己的xml配置文件.这也是一个上下文:组件扫描.当我第一次开始学习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向大多数(如果不是全部)类添加日志记录,所以我不知道我将有任何不会被注释的类.

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

谢谢!

解决方法

是 – 在主要上下文中扫描除控制器之外的所有内容
<context:component-scan base-package="my.package">
    <context:exclude-filter type="regex" expression="my.package.controller.*"/>
 </context:component-scan>

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读