如果您使用的是Spring,则可以使用AOP
例如,您的注释看起来像:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface NonDirectUsage {
}
然后定义一个Aspect
@Aspect
public class NonDirectUsageAspect{
@Around("@annotation(NonDirectUsage)")
public Object addToList(ProceedingJoinPoint joinPoint) throws Throwable {
System.out.println("added integer properly: ");
return null;
}
}
不要忘记配置代码来处理方面.
@Configuration
@EnableAspectJAutoProxy
public class NoDirectUsageConfig {}
如果您使用的是JakartaEE,我认为您可以做类似的事情.