gpt4 book ai didi

java - 如何解释以下Spring EL

转载 作者:行者123 更新时间:2023-11-30 08:06:05 25 4
gpt4 key购买 nike

我是 Spring Framework 的新手,正在尝试学习它。因此,我找到了一些很好的视频教程来解释我认为不错的部分。

有一部分我无法理解,但我认为与他在 Spring 中与缓存注释一起使用的 Spring EL 有关。

这是 video我看了。

这是我想知道的代码部分。

    @Override
@Transactional(
propagation = Propagation.REQUIRED,
readOnly = false)
@CachePut(
value = "greetings",
key = "#result.id")
public Greeting create(Greeting greeting) {
logger.info("> 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("< create");
return savedGreeting;
}

我想知道他使用注释 @CachePut 并使用 "#result.id" 分配 key 参数的部分.在他解释的视频中,它与响应值的 ID 映射。这意味着缓存将保存 savedGreeting 的 ID。对吗?

它是如何工作的?我看过 documentation对于 Spring EL,在那里也找不到相关信息。 Stackoverflow 的任何人可能知道吗?

最佳答案

看看 Spring Cache documentation .这列出了使用缓存注释时可用的关键字。基本上:#result 是方法的返回值,可用于某些操作,如 @CachePut

这有意义吗?

关于java - 如何解释以下Spring EL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34637747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com