我有多个spring配置文件。很少有人进行测试。
在整个代码库中,Idea12将所有Autowired bean都突出显示为"有多个XXX类型的bean"。
如何配置IDEA以便正确识别要在测试和生产中使用的实例?
答案 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版本