spring注入失败 使用junit测试dao层的时候显示找不到匹配的类

applicationContext的配置<context:component-scanbase-package="com"annotation-config="true... applicationContext的配置
<context:component-scan base-package="com"
annotation-config="true">
<context:include-filter type="regex"
expression=".Actions.*" />
<context:include-filter type="regex"
expression=".Server.*" />
<context:include-filter type="regex"
expression=".Dao.*" />
</context:component-scan>
<context:annotation-config />

dao层
import com.trionfo.freenat.model.User;

public interface UserDao {

impl层
@Component
public class UserDaoImpl implements UserDao
展开
 我来答
渠睿9r
2016-06-07 · TA获得超过799个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:183万
展开全部

你的include-filter是使用的正则,看起来你的正则好像有问题,你可以改成如下试一下:

	<context:component-scan base-package="com"
annotation-config="true">
<context:include-filter type="regex"
expression=".*\.Actions.*" />
<context:include-filter type="regex"
expression=".*\.Server.*" />
<context:include-filter type="regex"
expression=".*\.Dao.*" />
</context:component-scan>
<context:annotation-config />

或者是:expression="包路径.Actions.*"



Spring对此处处理的原码如下:

public class RegexPatternTypeFilter extends AbstractClassTestingTypeFilter {

private final Pattern pattern;

public RegexPatternTypeFilter(Pattern pattern) {
Assert.notNull(pattern, "Pattern must not be null");
this.pattern = pattern;
}

@Override
protected boolean match(ClassMetadata metadata) {
return this.pattern.matcher(metadata.getClassName()).matches();
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式