に助言しますcom.mtag.utilパッケージ:は、私は原始的なポイントカットと簡単なアスペクトを書いおよび方法をアドバイスしている静的メソッドの
public class SomeUtil {
static List<String> someMethod(List<String> oldList, List<String> newList) {
//...
}
}
が、私は呼んで
SomeUtil.someMethod(arg1, arg2);
ユニットテストでは、メソッド呼び出しが傍受されず、@AfterReturningのアドバイスが機能しないことがわかります。
しかし、私はのsomeMethodを(変更した場合)インスタンスへの(非静的)メソッド、
@Pointcut("execution(* com.mtag.util.SomeUtil.someMethod(..))")
にポイントカットを入力し@Component注釈とコールターゲットを追加することにより、ばねによってSomeUtil Beanを管理するが、このようmetod:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {AppConfig.class}, loader = AnnotationConfigContextLoader.class)
public class SomeUtilTest {
@Autowired
private SomeUtil someUtil;
@Test
public void categoriesDiffCalc() {
List<String> result = someUtil.someMethod(...);
}
}
すべては問題ありません。
どのように私は静的メソッドのアドバイスを設定できますか?
を7.8.4章を読んで、 '@AfterReturning(値は= "someMethodInvoke())"'あなたは余分なブラケット – tibtof
@izhamoidsinを持っている、(私が)提供さ答えが受け入れられています。またはこれは間違っていますか? –