spring注解参数如何传多个值
可以用数组接受值,默认值可以赋值{}
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface TenantCode {
UserRole[] skipRoles() default {};
}
使用的时候
// 单个的
@TenantCode(skipRoles = UserRole.warehouse)
// 多个的
@TenantCode(skipRoles = {UserRole.warehouse, UserRole.customs})
切面获取的时候
@Before("tenantCodePointCut()")
public void doBefore(JoinPoint point) {
MethodSignature signature = (MethodSignature) point.getSignature();
Method method = signature.getMethod();
TenantCode annotation = method.getAnnotation(TenantCode.class);
UserRole[] skipRoles = annotation.skipRoles();
}