2017-07-17 73 views
1

我有許多類與Spring @ContextConfiguration註釋。該註釋具有classes參數,該參數可以是數組。使用IntelliJ IDEA的結構替換替換其中一個註釋參數

現在我的大多數類是這樣的:

@RunWith(SpringJUnit4ClassRunner.class)   
@ContextConfiguration(classes = { 
     ThisShellBeTwoClassesInContextHierarchyConfig.class, 
     SomeTest.SomeTestConfig.class, 
     WhateverConfig.class 
}) 
@Transactional 
public class SomeTest { ... 

期望中的一些神奇的批量操作的輸出將以下內容:

@RunWith(SpringJUnit4ClassRunner.class)   
@ContextHierarchy(classes = { 
     @ContextConfiguration(classes = { ConfigA.class }), 
     @ContextConfiguration(classes = { ConfigB.class }), 
     @ContextConfiguration(classes = { 
      SomeTest.SomeTestConfig.class, 
      WhateverConfig.class 
     }) 
}) 
@Transactional 
public class SomeTest { ... 

到目前爲止,我當時甚至無法擁有的IntelliJ IDEA Structural替換工具可以使用classes參數查找註釋,更不用說替換它了。 即使是這樣簡化的結構

@$Annotation$($param$ = { $ctx$ }) 

沒有找到任何東西。 ctx的發生設置爲無限制。

我應該如何正確使用註釋參數?

回答

0

似乎是因爲a bug不可能匹配註釋名稱 - 值對中的數組(ElementValueArrayInitializer)。您可以使用以下查詢來匹配您想要的註釋:

@$Annotation$($param$ = $value$) 

但是,這可能不是很有幫助。