llsapp2025apk安装包下载方法:解锁未来,触手可及!

核心内容摘要

污污导航
“学生将”的传承与蜕变:师生之间,一场深刻的自我实现之旅

刘玥·君乐:一场穿越时空的音乐盛宴,点燃视听极限

SpringCache参考视频或文章https://juejin.cn/post/7507548342508371983

技术介绍

概述SpringCache是Spring框架提供的一套声明式缓存抽象层只提供接口不提供实现通过在方法上添加注解简化缓存操作无需手动编写缓存逻辑。

SpringCache支持多种缓存实现如Caffeine、Redis、EhCache等等并统一了缓存访问的API。

核心特点基于注解的声明式缓存支持SpEL(Spring Expression Language)表达式自动与Spring生态集成支持条件缓存

常用缓存注解缓存注解功能EnableCaching开启注解方式的缓存功能通常加在项目启动类上。

Cacheable标记方法将方法的返回值缓存下次调用直接从缓存中读取无需重新执行方法。

CachePut标记方法将方法的返回值缓存。

CacheEvict标记方法用于清除缓存通常配合数据删除操作使用。

Caching组合多个缓存注解支持在同一个方法上同时配置多种缓存行为。

CacheConfig标记类为类中所有方法指定统一的缓存配置减少重复配置。

项目应用涉及到的文件如下sky-take-out:pom.xmlsky-server:pom.xmlsrc/main/java/com.sky:SkyApplicationcontroller:admin:SetmealControlleruser:SetmealController

导入和Redis和SpringCache的Maven依赖坐标

1sky-take-out: pom.xml?xml version

0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/

4.

0xmlns:xsihttp://www.w

org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/

4.

0 http://maven.apache.org/xsd/maven-

4.

0.

xsdmodelVersion

4.

0/modelVersionparentartifactIdspring-boot-starter-parent/artifactIdgroupIdorg.springframework.boot/groupIdversion

2.

3/version/parentgroupIdcom.sky/groupIdartifactIdsky-take-out/artifactIdpackagingpom/packagingversion

0-SNAPSHOT/versionmodulesmodulesky-common/modulemodulesky-pojo/modulemodulesky-server/module/modulespropertiesdruid

1.

1/druid/propertiesdependencyManagementdependenciesdependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion${druid}/version/dependency/dependencies/dependencyManagement/project

2sky-server: pom.xml?xml version

0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/

4.

0xmlns:xsihttp://www.w

org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/

4.

0 http://maven.apache.org/xsd/maven-

4.

0.

xsdparentartifactIdsky-take-out/artifactIdgroupIdcom.sky/groupIdversion

0-SNAPSHOT/version/parentmodelVersion

4.

0/modelVersionartifactIdsky-server/artifactIddependenciesdependencygroupIdcom.sky/groupIdartifactIdsky-common/artifactIdversion

0-SNAPSHOT/version/dependencydependencygroupIdcom.sky/groupIdartifactIdsky-pojo/artifactIdversion

0-SNAPSHOT/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdscopecompile/scope/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project

在项目启动类SkyApplication上开启缓存注解功能SpringBootApplicationEnableTransactionManagement// 开启注解方式的事务管理EnableCaching// 开启注解方式的缓存功能publicclassSkyApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SkyApplication.class,args);}}

编写user/SetmealController使用Cachable更新缓存/** * 用户端-套餐接口 */RestController(userSetmealController)RequestMapping(/user/setmeal)publicclassSetmealController{AutowiredprivateSetmealServicesetmealService;AutowiredprivateDishServicedishService;// 根据分类id查询已启用的套餐GetMapping(/list)Cacheable(cacheNamessetmeal,key#categoryId)// key名称setmeal::{categoryId}publicResultListSetmealgetByCategoryId(LongcategoryId){ListSetmealsetmealssetmealService.getByCategoryId(categoryId);returnResult.success(setmeals);}}

编写admin/SetmealController使用CacheEvict清除缓存/** * 套餐管理模块 */RestController(adminSetmealController)RequestMapping(/admin/setmeal)publicclassSetmealController{AutowiredprivateSetmealServicesetmealService;// 新增套餐和对应的菜品PostMappingCacheEvict(cacheNamessetmeal,key#setmealDTO.categoryId)// 清理缓存publicResultsaveWithDish(RequestBodySetmealDTOsetmealDTO){setmealService.saveWithDish(setmealDTO);returnResult.success();}// 批量删除套餐DeleteMappingCacheEvict(cacheNamessetmeal,allEntriestrue)// 清理全部缓存publicResultdeleteBatch(RequestParamListLongids){setmealService.deleteBatch(ids);returnResult.success();}// 修改套餐PutMappingCacheEvict(cacheNamessetmeal,allEntriestrue)// 清理全部缓存publicResultupdate(RequestBodySetmealDTOsetmealDTO){setmealService.updateWithDishes(setmealDTO);returnResult.success();}// 起售停售套餐PostMapping(/status/{status})CacheEvict(cacheNamessetmeal,allEntriestrue)// 清理全部缓存publicResultchangeStatus(PathVariableIntegerstatus,Longid){setmealService.changeStatus(status,id);returnResult.success();}}

WWW17cc0m-WWW17cc0m最新ios版v.2.49.48-3K助手应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123