アーキテクチャなどをチェックするいくつかの側面を備えた単純なspringbootアプリケーションを構築しました。
System.out.println() へのすべての呼び出しをキャッチして、使用法に関する警告を表示しようとしているので、これまでに見つけたものです:
System.out.println() は PrintStream を使用するため、これを試しました:
@Aspect
@Component
public class CleanCodeAspect {
@Before("call(void java.io.PrintStream.println(String))")
public void beforePrintlnCall() {
System.out.println("About to make call to print Hello World");
}
}
しかし、成功しませんでした。ログは言う
The pointcutexpression call(void java.io.PrintStream.println(String)) contains unsupported pointcut primitive 'call'
同様のアスペクトが機能していますが、呼び出しの代わりに実行しています:
@Aspect
@Component
public class BooleanServiceMonitor {
@Before("execution(* de.fhb..*Service.*(java.lang.Boolean))")
public void logServiceAccess() {
System.out.println("You used a method with only one boolean parameter. "
+ "Refactor it into 2 methods with True, False at the end.");
}
}