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();
 }

你可能感兴趣的:(Java,spring,java,后端)