网站优化的主要任务重庆网站推广平台

张小明 2026/1/10 2:04:01
网站优化的主要任务,重庆网站推广平台,wordpress邮件配置,上海平台网站建设报价Spring Boot 整合 Redis 注解实现简单 CRUD 可以关注#xff1a;小坏说Java 公众号 零基础全栈开发Java微服务版本实战-后端-前端-运维-实战企业级三个实战项目 一、项目搭建 零基础全栈开发Java微服务版本实战-后端-前端-运维-实战企业级三个实战项目 1.1 添加依赖 小坏说Java 公众号零基础全栈开发Java微服务版本实战-后端-前端-运维-实战企业级三个实战项目一、项目搭建零基础全栈开发Java微服务版本实战-后端-前端-运维-实战企业级三个实战项目1.1 添加依赖!-- pom.xml --dependencies!-- Spring Boot Web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- Spring Boot Redis --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency!-- Lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency/dependencies1.2 配置文件# application.ymlspring:redis:host:localhostport:6379database:0server:port:8080二、实体类零基础全栈开发Java微服务版本实战-后端-前端-运维-实战企业级三个实战项目packagecom.example.entity;importlombok.Data;importorg.springframework.data.annotation.Id;importorg.springframework.data.redis.core.RedisHash;importorg.springframework.data.redis.core.index.Indexed;importjava.io.Serializable;/** * RedisHash: 声明实体类value指定Redis中的key前缀 * 存储格式: user:{id} */DataRedisHash(user)publicclassUserimplementsSerializable{IdprivateLongid;// 主键IndexedprivateStringusername;// 创建索引可以按username查询privateStringemail;privateIntegerage;}三、Repository 接口packagecom.example.repository;importcom.example.entity.User;importorg.springframework.data.repository.CrudRepository;importorg.springframework.stereotype.Repository;importjava.util.List;importjava.util.Optional;/** * CrudRepository 提供基本的CRUD方法 * 可以根据方法名自动生成查询 */RepositorypublicinterfaceUserRepositoryextendsCrudRepositoryUser,Long{// 根据用户名查询精确匹配ListUserfindByUsername(Stringusername);// 根据邮箱查询OptionalUserfindByEmail(Stringemail);// 根据年龄范围查询ListUserfindByAgeBetween(IntegerminAge,IntegermaxAge);// 删除指定用户名的用户LongdeleteByUsername(Stringusername);}四、Service 层packagecom.example.service;importcom.example.entity.User;importcom.example.repository.UserRepository;importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.cache.annotation.*;importorg.springframework.stereotype.Service;importjava.util.List;importjava.util.Optional;Slf4jServiceCacheConfig(cacheNamesuser)// 类级别缓存配置publicclassUserService{AutowiredprivateUserRepositoryuserRepository;/** * Cacheable: 查询缓存 * 1. 先查缓存有则直接返回 * 2. 无则执行方法将结果存入缓存 */Cacheable(key#id)publicUserfindById(Longid){log.info(查询数据库用户ID: {},id);returnuserRepository.findById(id).orElse(null);}/** * 查询所有用户 */publicListUserfindAll(){return(ListUser)userRepository.findAll();}/** * 根据用户名查询 */publicListUserfindByUsername(Stringusername){returnuserRepository.findByUsername(username);}/** * CachePut: 更新缓存 * 每次都会执行方法并将结果更新到缓存 */CachePut(key#user.id)publicUsersave(Useruser){log.info(保存用户: {},user.getUsername());returnuserRepository.save(user);}/** * CacheEvict: 删除缓存 * 方法执行后删除指定key的缓存 */CacheEvict(key#id)publicvoiddeleteById(Longid){log.info(删除用户ID: {},id);userRepository.deleteById(id);}/** * 更新用户 */Caching(putCachePut(key#user.id),evictCacheEvict(keylist)// 清除列表缓存)publicUserupdate(Useruser){log.info(更新用户: {},user.getId());returnuserRepository.save(user);}/** * 缓存用户列表 */Cacheable(keylist)publicListUserfindAllWithCache(){log.info(查询所有用户带缓存);return(ListUser)userRepository.findAll();}}五、Controller 层零基础全栈开发Java微服务版本实战-后端-前端-运维-实战企业级三个实战项目packagecom.example.controller;importcom.example.entity.User;importcom.example.service.UserService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;importjava.util.List;RestControllerRequestMapping(/api/users)publicclassUserController{AutowiredprivateUserServiceuserService;// 新增用户PostMappingpublicUsercreateUser(RequestBodyUseruser){returnuserService.save(user);}// 根据ID查询用户GetMapping(/{id})publicUsergetUserById(PathVariableLongid){returnuserService.findById(id);}// 查询所有用户GetMappingpublicListUsergetAllUsers(){returnuserService.findAllWithCache();}// 根据用户名查询GetMapping(/search)publicListUsergetUserByUsername(RequestParamStringusername){returnuserService.findByUsername(username);}// 更新用户PutMapping(/{id})publicUserupdateUser(PathVariableLongid,RequestBodyUseruser){user.setId(id);returnuserService.update(user);}// 删除用户DeleteMapping(/{id})publicStringdeleteUser(PathVariableLongid){userService.deleteById(id);return删除成功;}}六、主启动类零基础全栈开发Java微服务版本实战-后端-前端-运维-实战企业级三个实战项目packagecom.example;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cache.annotation.EnableCaching;SpringBootApplicationEnableCaching// 开启缓存支持publicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}七、测试示例7.1 使用 Postman 测试1. 新增用户POST http://localhost:8080/api/users Content-Type: application/json { username: 张三, email: zhangsanexample.com, age: 25 }2. 查询用户GET http://localhost:8080/api/users/13. 查询所有用户GET http://localhost:8080/api/users4. 更新用户PUT http://localhost:8080/api/users/1 Content-Type: application/json { username: 张三, email: zhangsan_newexample.com, age: 26 }5. 删除用户DELETE http://localhost:8080/api/users/1八、注解总结注解作用示例RedisHash实体类映射到Redis HashRedisHash(user)Id标记主键字段Id private Long id;Indexed创建二级索引支持字段查询Indexed private String username;EnableCaching启用缓存主类上EnableCachingCacheable方法结果缓存Cacheable(key #id)CachePut更新缓存CachePut(key #user.id)CacheEvict删除缓存CacheEvict(key #id)Caching组合多个缓存操作见上面Service中的update方法九、运行效果零基础全栈开发Java微服务版本实战-后端-前端-运维-实战企业级三个实战项目第一次查询用户(1)控制台打印日志查询数据库第二次查询用户(1)直接从缓存返回不打印日志更新用户(1)更新数据库并更新缓存删除用户(1)删除数据库记录并清除缓存十、注意事项实体类必须实现Serializable接口缓存注解的方法必须是public的同一个类内部调用缓存注解的方法不会生效Redis 需要提前安装并启动这个示例包含了最基本的 Redis 注解 CRUD 操作可以直接运行使用。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

好的作文网站h5在线网站建设

DOL-CHS-MODS汉化美化包:从零开始掌握完整安装与配置技巧 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 想要体验完全中文化的Degrees of Lewdity游戏吗?DOL-CHS-MODS整合包…

张小明 2026/1/7 12:02:06 网站建设

长沙网站seo厂家如何让百度收录我的网站

微信社交关系智能检测系统:精准识别好友状态变化 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 在数…

张小明 2026/1/6 7:51:13 网站建设

个人微信注册网站杭州网站建设小程序

5分钟掌握IOPaint集成:从零部署到深度定制全攻略 【免费下载链接】IOPaint 项目地址: https://gitcode.com/GitHub_Trending/io/IOPaint 你是否在为网站添加专业图像编辑功能而烦恼?面对复杂的AI模型和繁琐的开发流程,很多开发者望而…

张小明 2026/1/10 17:59:58 网站建设

网站收录不增加wordpress博客点赞

文章目录0 简介1 课题背景2 技术原理和方法2.1基本原理2.2 技术选型和方法3 实例分割4 实现效果最后0 简介 今天学长向大家分享一个毕业设计项目 毕业设计 深度学习语义分割实现弹幕防遮(源码分享) 🧿 项目分享:见文末! 1 课题背景 弹幕是显示在视频上的评论&a…

张小明 2026/1/5 11:39:06 网站建设

网站评论设计如何制作新型网站程序

U-2-Net深度学习模型:工业缺陷检测完整指南 【免费下载链接】U-2-Net U-2-Net - 用于显著对象检测的深度学习模型,具有嵌套的U型结构。 项目地址: https://gitcode.com/gh_mirrors/u2/U-2-Net 在当今工业制造领域,产品质量检测已成为保…

张小明 2025/12/30 20:36:45 网站建设

frontpage做的网站好不好泰州公司网站建设

🚀 想要摆脱繁琐的下载等待,实现文件批量下载的自动化管理吗?1Fichier Download Manager正是你需要的专业工具!这款下载管理器专为1Fichier平台设计,集成了智能链接处理、网络配置、断点续传等强大功能,让文…

张小明 2026/1/5 7:09:33 网站建设