我的班级结构如下:
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
如何从此上下文中调用super方法?
答案 0 :(得分:1)
该方法不可见。设为public
。