Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在@cacheexecute的键中使用非常量属性或字段_Java_Spring_Spring Cache - Fatal编程技术网

Java 在@cacheexecute的键中使用非常量属性或字段

Java 在@cacheexecute的键中使用非常量属性或字段,java,spring,spring-cache,Java,Spring,Spring Cache,是否可以在@cacheexecute注释的键中使用当前类的非常量字段或属性?例如: public class Feature { private int id; @Autowired private FeaturesClient featuresClient; @CacheEvict(value = CacheConfiguration.FEATURES, key = "T(java.lang.String).valueOf(

是否可以在
@cacheexecute
注释的键中使用当前类的非常量字段或属性?例如:

public class Feature {

    private int id;

    @Autowired
    private FeaturesClient featuresClient;

    @CacheEvict(value = CacheConfiguration.FEATURES, key = 
               "T(java.lang.String).valueOf(#userId).concat(T(java.lang.String)" +
               ".valueOf( **#id** ))")
    public boolean isFeatureAvailable(long userId) {
        return featuresClient.isFeatureAvailable(userId, id);
    }

}

:

#root.method
#root.target
#root.cache
分别用于引用方法、目标对象和受影响的缓存

@CacheEvict(key = "#userId + #root.target.id")