我必须创建一个可配置的切入点。任何人都可以帮助实现动态切入点。
DynamicPointcut.class
delete
ConfigurableAdvisorConfig.class
public class DynamicPointcut extends DynamicMethodMatcherPointcut {
@Value("${custom.logging.basepackage}")
String basePackage;
@Override
public ClassFilter getClassFilter() {
return new ClassFilter() {
@Override
public boolean matches(Class<?> clazz) {
List<Class<?>> classList = ClassFinder.find(basePackage);
return classList.stream().anyMatch(x -> x.equals(clazz));
}
};
}
@Override
public boolean matches(Method method, Class<?> targetClass, Object... args) {
if(args.length>0){
return true;
}
return false;
}
}
答案 0 :(得分:0)
您可以使用静态aspectOf工厂方法连接您的方面(您无法看到该方法,它由aspectj编译器添加)
<bean class="com.YourAspect" factory-method="aspectOf">
<property name="basePackage"
value="${custom.logging.basepackage}" />
答案 1 :(得分:0)
在您的方案中使用Spring的AspectJ支持。
mov ax, 0x0013
int 0x10
x db 1
y db 1
videomem dd 0xa000
mov bx, y
mov ax, 0x0140 ;320
mul bx
add ax, x
mov cx, videomem
mov [cx:ax], 0x09;
jmp $
times 510-($-$$) db 0
dw 0xaa55