Spring Boot

小D课堂

懵懂的女人 提交于 2021-01-24 12:46:41
笔记 4、Redis工具类封装讲解和实战 简介:高效开发方式 Redis工具类封装讲解和实战 1、常用客户端 https://redisdesktop.com/download 2、封装redis工具类并操作 开始 主要讲开发中的技巧 Redis 桌面管理工具 RedisDesktopManager 2019.2 发布 https://www.oschina.net/news/108331/redis-desktop-manager-2019-2-released?p=2 redis默认有16个库 我们默认操作的是第一个库。这是我们刚才放进去的值 封装redis工具类并操作 JsonUtils工具类,对象要转换为字符串。 主要是通过Jsckson这个包去操作的 封装RedisClient类 注入StringRedisTemplate,添加set方法 在家一个获取的方法 controller里面使用 启动应用进行测试 调用add方法 获取值 对象放到redis 可以的命名规则,用冒号分隔开。用冒号分开后,通过工具查看redis里面会有一层层的文件夹格式 再加一个获取值的方法 启动应用 每个冒号前面形成一个文件夹 查找效率会比 所有的key都放在一起更快 取值 单元测试 直接运行测试方法 来源: oschina 链接: https://my.oschina.net/u/4386338

Github上看到的4个好玩的开源项目

拟墨画扇 提交于 2021-01-24 08:28:32
我们的程序员小哥哥不仅会写代码,思维逻辑严密,在风趣幽默这一行也不输任何人呀,这不,在GitHub上面看到的这几个项目,不得不说,他们真的很会,左手祖传代码,右手手握有趣的开源项目,让代码世界里面时时刻刻都充满的欢乐~~ 1. 毒鸡汤 GitHub地址:https://github.com/egotong/nows 在线网址:http://www.nows.fun/ 非常真实,用最猛的刀,扎向昏沉的你。没事打开就可以打开瞅瞅,毕竟人生苦短都没苦笑过有什么意思! 2. 中国的表情包 GitHub地址:https://github.com/zhaoolee/ChineseBQB 在线网址:https://v2fy.com/ChineseBQB 表情包的博物馆, Github最有毒的仓库, 中国表情包大集合, 聚欢乐,拥有它之后,我就成为了一个表情包大户了,斗图我从来就没有输过。 3. 舔狗日记生成 GitHub地址:https://github.com/wangpinpin/devtools-server 在线地址:https://wangpinpin.com/ 网站内容:常用开发工具、开放API等,本项目完全开源, 项目持续更新中,后端:Spring Boot,前端:Vue 目前功能:舔狗日记、听歌音乐抖动粒子、每日一文、壁纸、网易云API、JSON格式化、二维码生成、颜色转换

用了 10 多年的 Tomcat 居然有bug !

|▌冷眼眸甩不掉的悲伤 提交于 2021-01-24 07:33:51
点击上方 “ 民工哥技术之路 ” 选择“星标” 每天 10点 为你 分享 不一样的干货 读者福利!多达 2048G 各种资源免费赠送 来源: www.jianshu.com/p/d50bc43f505e 为了解决分布式链路追踪的问题,我们引入了实现OpenTracing的Jaeger来实现。然后我们为SpringBoot框架写了一个starter以让用户实现近零改造接入全链路。 由于公司有一个封装了SpringBoot的内部框架,然后我们的starter就以最新框架所使用的SpringBoot版本为基础进行开发。 所以业务系统在接入的时候需要先升级框架,然后再引入我们的starter才行无缝接入全链路。 故障描述 然后有一个业务系统就按照步骤,升级框架,引入starter就接入了全链路系统,并且功能测试压力测试都已经通过了。 结果我们满怀信心地就上线了。 结果,线上nginx报大量http 400错误。 故障排查 出现故障后,业务系统的研发人员查了所有的日志,包括elk以及机器上的日志,都没有发现明显的错误日志。 这个就。 。 。 几番挣扎后还是没有在线上的日志中找到任何蛛丝马迹。 这个就比较绝望了。 更奇怪的是在测试环境中是正常的,这个就比较诡异了。 然后我们猜想是不是之前压力测试做得不够啊,我们还是在压测环境中再压测一下看看会不会复现。 然后正好之前这个业务系统做过压测

SpringBoot 内部方法调用,事务不起作用的原因及解决办法

ぃ、小莉子 提交于 2021-01-24 07:25:52
在做业务开发时,遇到了一个事务不起作用的问题。大概流程是这样的,方法内部的定时任务调用了一个带事务的方法,失败后事务没有回滚。查阅资料后,问题得到解决,记录下来分享给大家。 场景 我在这里模拟一个场景,大概的调用方式就如下面的代码这样。 @Override @Transactional(rollbackFor = RuntimeException.class) public void insertUser(User user) { userMapper.insertUser(user); throw new RuntimeException(""); } /** * 内部调用新增方法 * * @param user */ @Override public void invokeInsertUser(User user) { this.insertUser(user); } 原因 AOP 使用的是动态代理的机制,它会给类生成一个代理类,事务的相关操作都在代理类上完成。内部方式使用 this 调用方式时,使用的是实例调用,并没有通过代理类调用方法,所以会导致事务失效。 解决办法 方法一 引入自身bean 在类内部通过 @Autowired 将本身 bean 引入,然后通过调用自身 bean ,从而实现使用 AOP 代理操作。 注入自身 bean @Autowired @Lazy

JimuReport积木报表1.1.05 版本发布,免费的企业级 Web 报表工具

喜你入骨 提交于 2021-01-24 05:51:59
#项目介绍 积木报表,是一款免费的企业级Web报表工具,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成报表设计。 秉承“简单、易用、专业”的产品理念,极大的降低报表开发难度、缩短开发周期、节省成本、解决各类报表难题。 #当前版本 :v1.1.05 | 2021-01-15 #资料下载 示例代码: https://github.com/zhangdaiscott/JimuReport 马上体验: http://www.jimureport.com/reportDemo 功能清单: www.jimureport.com/plan #快速集成 引入依赖 jar <dependency> <groupId>com.jimureport</groupId> <artifactId>spring-boot-starter-jimureport</artifactId> <version>1.1.05</version> </dependency> 快速集成文档 http://report.jeecg.com/2078875 数据库脚本 jimureport.sql #升级日志 此版本支持复杂分组报表和表达式,提供精美的报表示例,解决了oracle数据库兼容、Excel导出等系列问题。

Spring Boot 2.4发布了,但 Spring Cloud 用户不推荐着急升级

非 Y 不嫁゛ 提交于 2021-01-24 01:09:34
点击上方蓝色“ 程序猿DD ”,选择“设为星标” 回复“ 资源 ”获取独家整理的学习资料! 前段时间Spring Boot发布了本年度最后一个重要更新版本:Spring Boot 2.4.0。 最近在社群里也开始有讨论关于Spring Boot 2.4的一些使用问题。我发现有很多Spring Cloud用户也急切着想要体验最新版本的Spring Boot,然后碰到了一些问题,其中被提出来最多的就是配置无法加载的问题。 我没有去深究这个问题如何去解决,因为之前,在 发布说明 中有提及过,在Spring Boot 2.4版本中对配置文件的处理做了较大的改动,如果你只是简单的使用application.properties或application.yaml,那么还能无缝衔接。但如果用了更为复杂的配置方式,很可能会失败。 所以,当你采用Spring Cloud Config来管理配置和加载的时候,就很容易出现这样的问题。同时,从Spring Boot和Spring Cloud的版本支持关系来看,Spring Boot 2.4.x版本本身还没有对应的Spring Cloud版本。 上图截取自:http://www.springcloud.com.cn/ 因此,对于Spring Cloud的用户的话,当前时间节点之下,并不太推荐马上去应用Spring Boot 2.4.x。 往期推荐

人脸识别SpringBoot快递代取平台系统 珍贵的一次开发经验分享给大家

两盒软妹~` 提交于 2021-01-23 10:56:37
最近上海理工大学光电学院的拉吉研究生张逸风全家出了车祸,他妈妈住进了ICU脑袋也不好使了,他爹害也不好意思过世了,这孩子挺坚强的,媳妇被人绿了,自己也住进去了,他委托我帮他开发一个系统,帮他圆梦,因此我开始了如下的创作,帮大家快速入门开发,奥利给 相关技术栈 前端: Thymeleaf、Bootstrap、Ajax、JQuery 开发环境: IDEA 、SpringBoot 2.1、Maven 数据库与缓存 :MySQL 5.7、Redis、Guava Cache 三方服务 :阿里云云短信服务、支付宝支付(沙箱)、百度人脸识别 安全框架 :Spring Security 其他技术 :API 接口限速、二级缓存 主要功能 登陆与注册: 用户名密码、短信验证码、人脸识别登录、QQ登录 权限: 普通用户、配送员、后台管理员 普通用户 :下单支付、订单查询、意见反馈、订单评价 配送员 :接单、订单管理、意见反馈、订单评价 系统管理员 :用户管理、订单管理、反馈管理 核心代码解析 短信接口代码解析 public SendSmsResponse sendSms(String mobile,String template_code,String sign_name,String param) throws ClientException { // String accessKeyId =env

SpringBoot 内部方法调用,事务不起作用的原因及解决办法

陌路散爱 提交于 2021-01-23 09:38:40
SpringBoot 内部方法调用,事务不起作用的原因及解决办法 参考文章: (1)SpringBoot 内部方法调用,事务不起作用的原因及解决办法 (2)https://www.cnblogs.com/jamaler/p/11398149.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4370305/blog/4921260

SpringBoot 集成Swagger

大憨熊 提交于 2021-01-23 05:49:31
Swagger简介: Design is the foundation of your API development. Swagger makes API design a breeze, with easy-to-use tools for developers, architects, and product owners. 大致意思是:以Swagger为基础来设计你API,使它变得更简介明了和易于维护; 使用: 1.引入依赖: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> 2.配置: (1)新建配置类,注意与项目的启动类放在同一块: (2)配置swagger的基本信息: import org.springframework.context.annotation.Bean; import org

用Java实现每天给对象发情话

馋奶兔 提交于 2021-01-22 15:20:09
Python实战社群Java实战社群长按识别下方二维码,按需求添加扫码关注添加客服进Python社群▲扫码关注添加客服进Java社群▲ 作者丨清茶淡粥 来源: https://blog.csdn.net/qq_33758782/article/details/111409931 一、引言 最近看到一篇用js代码实现表白的文章,深有感触。 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁生成器网站中的内容 网站:https://chp.shadiao.app/ java Mail 实现发送邮件 SpringBoot 整合Scheduled 实现定时发送邮件 二、搭建项目 项目环境在SpringBoot框架基础上,加入邮件发送mail、RPC远程调用httpclient、Scheduled 的一个Maven项目,依赖如下: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org