Fork me on GitHub

Spring Boot

Spring Boot 2.x监控数据可视化(Actuator + Prometheus + Grafana手把手)

TIPS 本文基于Spring Boot 2.1.4,理论支持Spring Boot 2.x所有版本 众所周知,Spring Boot有个子项目Spring Boot Actuator,它为应用提供了强大的监控能力。从Spring Boot 2.0开始,Actuator将底层改为Micrometer,提供了更强、更灵活的监控能力。Micrometer是一个监控门面,可以类比成监控界的 Slf4j 。 借助Micrometer,应用能够对接各种监控系统,例如: Ap...

Spring Boot 2发送邮件手把手图文教程

本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本。 最近有童鞋问到笔者如何用Spring Boot发送邮件,故而整理下Spring Boot发送邮件的各种姿势。 说到邮件放松,相信大家对Spring Framework提供的接口 JavaMailSender 都不陌生。那么Spring Boot是否有开箱即用的邮件发送呢? 答案是肯定的。Spring Boot为发送邮件提供了starter:spring-boot-star...

我最喜欢的Mybatis 3.5新特性——Optional支持

Mybatis 3.5 发布有段时间了,终于支持了 Optional ,这么实用的特性,竟然还没人安利……于是本文出现了。 文章比较简单,但非常实用,因为能大量简化恶心的判空代码。 WARNING 由于本文非常简(low)单(比),我相信又会有类似如下的大佬出现(最近莫名其妙地被若干大佬喷,也不知道得罪谁了,必须高能预警一下,免得脏了大佬们的眼睛): 嫌低级喷:”这么简单文章也好意思写,没有源码分析好意思拿出来!”——我源码分析的文章也有小几十篇了,阅读量更差。而且...

Spring Boot 2动态修改日志级别

本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本。 作为程序猿,定位问题是我们的日常工作,而日志是我们定位问题非常重要的依据。传统方式定位问题时,往往是如下步骤: 将日志级别设低,例如 DEBUG ; 重启应用; 复现问题,观察日志; 如果能动态修改日志级别(无需重启应用,就能立刻刷新),那绝对 如猫添翼 。事实上,从 Spring Boot 1.5 开始,Spring Boot Actuator 组件就已提供动态修改...

Spring Boot 2实现分布式锁——这才是实现分布式锁的正确姿势!

都9102年了,你还在手写分布式锁吗? 经常被问到”如何实现分布式锁”,看来这是大家的一个痛点。 其实Java世界的”半壁江山”——Spring早就提供了分布式锁的实现。早期,分布式锁的相关代码存在于Spring Cloud的子项目Spring Cloud Cluster中,后来被迁到Spring Integration中。 Spring Cloud Cluster的GitHub:https://github.com/spring-cloud/spring-clo...

跨域访问支持(Spring Boot、Nginx、浏览器)

最近家中事多,好久没有写点啥了。一时间竟然不知从何说起。先说下最近家里发生的事情吧: 老爸肺气肿住院; 老妈甲状腺囊肿 儿子喘息性支气管炎住院 我莫名其妙尿脓。不要误会,我没有大保健。有空了考虑将去医院检查的经历写出来,绝对狗血、精彩!! 家里的事情竟然能按条标记,真是可悲。顾影自怜一下。好,言归正传。最近出于某些原因,笔者需要实现跨域请求。 下面咱们详细讨论实现跨域的步骤。跨域的玩法有很多,例如服务器端设置、浏览器端设置、Jsonp等等。本文只描述具体组件的具体做法,不谈论茴香豆的茴字有几种写法。…

Spring Boot、Dubbo项目Mock测试踩坑与总结

本文是对Spring Boot、Dubbo项目进行Mock测试的总结与踩坑实录。 搜索了一圈,居然没发现类似的文章,莫非用Dubbo的朋友们都不Mock测试,或者有其他的办法测试吗? 简单总结了一下,希望对大家能有一定参考意义。如果有更好的测试方法,请联系我的邮箱eacdy0000@126.com ,帮忙告知一下。…