我的班级结构如下:
package com.xyz.abc.controller;
public class Roles {
public Static String REQ_ROLE = "LEARNER";
}
public class BaseController {
protected String getRole() { return something; }
}
public class AccountController extends BaseController {
@Cacheable(value="mycache", key="#accountId", condition="#root.target.getRole() == Roles.REQ_ROLE")
public String getAccount(final @PathVariable String accountId) { return account; }
}
我正在尝试使用 SpEL 在 Cacheable 条件下调用基类函数。但是,这会引发错误:
Method call: Method getRole() cannot be found on com.xyz.abc.controller.AccountController type
我如何从这个上下文中调用超级方法?