java - 如何防止Spring使用测试中的@Configuration?

标签 java spring spring-annotations

我在 spring 配置 xml 文件中找到了这个文件,我想显式加载它,里面有这个:

<context:annotation-config/>
<context:component-scan base-package="my.path" />

我在测试中像这样加载它:

new ClassPathXmlApplicationContext(new String[]{"/beans.xml"})

问题是,显然此扫描能够看到嵌套在另一个测试中的 @Configuration,因为此测试位于 base-package 下的包中。出于我的测试目的,这是不受欢迎的行为。有什么办法可以防止这种情况发生吗?我不使用 component-scan 来加载 @Configuration 类。

最佳答案

这个怎么样:

<context:component-scan base-package="my.path" >
    <context:exclude-filter type="annotation" 
        expression="org.springframework.context.annotation.Configuration" />        
</context:component-scan>

关于java - 如何防止Spring使用测试中的@Configuration?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28120183/

相关文章:

spring - 具有环境变量的Spring Boot配置

java - 如何以编程方式加载 Spring webflow 流并获取其内容

Eclipse 上的 Java Struts Hibernate Web 应用程序

java - 登录 局域网内计算机的用户名 java

java - 在 Java 中,如何用一个对象填充 arrayList 的一半,用另一个对象填充一半?

java - 跨 Java 包 Autowiring Spring Beans

java - 使用 Spring Annotation 有条件地导入类

java - 无法从静态上下文错误中引用非静态方法

java - 无法使用 spring-jdbc NamedParameterJdbcTemplate 以批处理方式存储枚举

java - 了解配置文件中的主要注释