0
コードでフィールドレベルの注釈を探し、そのフィールドを引数としてメソッドを呼び出す次のコードベースのスタイルのアスペクトがあります。これはコードベースのスタイルをAnnotationベースのスタイルに変換するSpringまたはAspectJを使用するAOP
public aspect EncryptFieldAspect
{
pointcut encryptStringMethod(Object o, String inString):
call(@Encrypt * *(String))
&& target(o)
&& args(inString)
&& !within(EncryptFieldAspect);
void around(Object o, String inString) : encryptStringMethod(o, inString) {
proceed(o, FakeEncrypt.Encrypt(inString));
return;
}
}
上記の方法がうまく動作します..それはどのように見えるかですが、私は春またはAspectJの、これに似たものに基づいて、注釈に変換したいと思います。ビットの任意のヒントを混乱AspectJのドキュメントが参考になるが見つかりました。..
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
@Aspect
public class MyAspect {
@Around("execution(public * *(..))")
public Object allMethods(final ProceedingJoinPoint thisJoinPoint) throws Throwable {
System.out.println("Before...");
try{
return thisJoinPoint.proceed();
}finally{
System.out.println("After...");
}
}
}
こんにちは、私は非常に類似したユースケースを持っています。私はspring-boot 1.4を使用していますが、Pointcutが不正な形式になっています:@Oroundでエラーが発生しました。何かアドバイス? – oak