Anotación @Cacheble en método sin parámetro

quiero tener@Cacheable Anotación en el método sin parámetro. En ese caso, uso @Cacheable de la siguiente manera

@Cacheable(value="usercache", key = "mykey")
public string sayHello(){
    return "test"
}

Sin embargo, cuando llamo a este método, no se ejecuta y obtiene una excepción como se muestra a continuación

org.springframework.expression.spel.SpelEvaluationException: EL1008E: (pos 0): la propiedad o campo 'mykey' no se puede encontrar en el objeto de tipo 'org.springframework.cache.interceptor.CacheExpressionRootObject' - ¿tal vez no sea público?

Por favor recomiende.

Respuestas a la pregunta(3)

Su respuesta a la pregunta