spring - 自动从 spring 自动装配中排除子软件包?

  显示原文与译文双语对照的内容
107 1

是否有一个简单的方法从 spring 3.1中排除包/子包的自动装配?

E.g 。如果我想要包含一个包含 com.example 基包的组件扫描,就有一种简单的方法排除 com.example.ignore

( 为什么我想从集成测试中排除一些组件)?

时间:原作者:0个回答

110 2

我不确定你可以以使用 <exclude-filter>显式排除包,但是我认为使用 正规表达式 过滤器会有效地获得:

 <context:component-scan base-package="com.example">
 <context:exclude-filter type="regex" expression="com.example.ignore..*"/>
 </context:component-scan>

为了制作with注释,你需要注释每个要排除的类,这些类为 @com.example.annotation.ExcludedFromITests.的集成测试那么组件扫描看起来就像:

 <context:component-scan base-package="com.example">
 <context:exclude-filter type="annotation" expression="com.example.annotation.ExcludedFromITests"/>
 </context:component-scan>

这很清楚,因为现在你已经经在源代码本身中记录了该类并不应该包含在集成测试中。

原作者:
...