日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Cache抽象-使用SpEL表达式

發(fā)布時間:2025/3/21 javascript 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cache抽象-使用SpEL表达式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  • 概述
  • SpEl表達式

概述

在Spring Cache注解屬性中(比如key,condition和unless),Spring的緩存抽象使用了SpEl表達式,從而提供了屬性值的動態(tài)生成及足夠的靈活性。

下面的代碼根據(jù)用戶的userCode進行緩存,對于key屬性,使用了表達式自定義鍵的生成。

public class UserService {private Map<Integer, User> users = new HashMap<Integer, User>();{users.put(1, new User("1", "w1",37));users.put(2, new User("2", "w2", 34));}@Cacheable(value = "users", key = "#user.userCode" condition = "#user.age < 35")public User getUser(User user) {System.out.println("User with id " + user.getUserId() + " requested.");return users.get(Integer.valueOf(user.getUserId()));}

SpEl表達式

SpEL表達式可基于上下文并通過使用緩存抽象,提供與root獨享相關聯(lián)的緩存特定的內(nèi)置參數(shù)。

名稱位置描述示例
methodNameroot對象當前被調(diào)用的方法名#root.methodname
methodroot對象當前被調(diào)用的方法#root.method.name
targetroot對象當前被調(diào)用的目標對象實例#root.target
targetClassroot對象當前被調(diào)用的目標對象的類#root.targetClass
argsroot對象當前被調(diào)用的方法的參數(shù)列表#root.args[0]
cachesroot對象當前方法調(diào)用使用的緩存列表#root.caches[0].name
Argument Name執(zhí)行上下文當前被調(diào)用的方法的參數(shù),如findArtisan(Artisan artisan),可以通過#artsian.id獲得參數(shù)#artsian.id
result執(zhí)行上下文方法執(zhí)行后的返回值(僅當方法執(zhí)行后的判斷有效,如 unless cacheEvict的beforeInvocation=false)#result

總結(jié)

以上是生活随笔為你收集整理的Spring Cache抽象-使用SpEL表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。