How to interpretate following Spring EL
<p>I'm new to Spring Framework and trying to learn it. So I found some nice video tutorial explaining which I found to be good.</p>

<p>There's one part I couldn't understand though which I think is related with Spring EL he used together with the cache annotation in Spring.</p>

<p>This is the <a href="https://youtu.be/g4h268Hx0AU?list=PLGDwUiT1wr6-Fn3N2oqJpTdhGjFHnIIKY&amp;t=179" rel="nofollow">video</a> I watched.</p>

<p>And this is the part of code I'm wondering about.</p>

<pre><code>    @Override
    @Transactional(
            propagation = Propagation.REQUIRED,
            readOnly = false)
    @CachePut(
            value = "greetings",
            key = "#result.id")
    public Greeting create(Greeting greeting) {
        logger.info("&gt; create");

        if (greeting.getId() != null) {
            logger.error(
                    "Attempted to create a Greeting, but id attribute was not null.");
            throw new EntityExistsException(
                    "The id attribute must be null to persist a new entity.");
        }

        Greeting savedGreeting = greetingRepository.save(greeting);

        logger.info("&lt; create");
        return savedGreeting;
    }
</code></pre>

<p>I'm wondering about the part where he used the annotation <code>@CachePut</code> and assigned the <code>key</code> parameter with <code>"#result.id"</code>. In the video he explained it is mapped with the ID of the response value. Which means the cache will save the ID of savedGreeting. Is that correct?</p>

<p>How does it work? I have looked in the <a href="http://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html" rel="nofollow">documentation</a> for Spring EL and could not find something about that there either. Anyone at Stackoverflow perhaps knows?</p>