想法12,我如何指出一些弹簧文件仅用于测试

时间:2012-12-18 14:39:29

标签: spring intellij-idea

我有多个spring配置文件。很少有人进行测试。

在整个代码库中,Idea12将所有Autowired bean都突出显示为"有多个XXX类型的bean"。

如何配置IDEA以便正确识别要在测试和生产中使用的实例?

4 个答案:

答案 0 :(得分:3)

它应该在下次更新中修复。但同时请转到Project Structure -> Facets -> Spring并删除一些包含已定义的应用程序上下文配置。

例如,我的项目中有2个模块:Core(jar)和Webapp(war),它取决于Core。当两者都包含在IDEA的Spring facet中时,IDE应用程序上下文中定义的bean会被IDE看到两次:第一次直接来自Core应用程序上下文,第二次来自Webapp上下文,其中包括Core上下文。由于Core模块bean已经在Web模块中可见,因此可以删除Spring facet for Core,并解决问题。

答案 1 :(得分:0)

当我尝试使用两个或多个注释注释一个类时,也会出现此问题,如:

@Service
@Repository
public class Foo {...}

@Component
public class AnotherFoo {
    @Inject
    Foo foo; // Here is error in IDEA, in spite of Spring takes it normally.
}

从不必要的注释中清除(在此示例中为@Service)可以帮助解决恼人的警告。

答案 2 :(得分:0)

我认为这个问题在12.1.4中没有修复。 不完美的修复是右键单击测试文件夹中的spring配置文件并将其标记为纯文本。

答案 3 :(得分:0)

我通过设置 - >停用了警告。检查 - >弹簧模型 - > Bean类的自动装配。 希望这个问题很快得到解决。我正在使用IntelliJ的12.1.4版本