访问SpEL中的基类方法

时间:2015-06-22 11:13:14

标签: spring spring-el spring-cache

我的班级结构如下:

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方法?

1 个答案:

答案 0 :(得分:1)

该方法不可见。设为public