下面这个问题源于前几日在我们的Spring技术交流群里,一个群友提出的关于事务回滚的疑问。 在讨论过程中,我尝试去复现群友提出的问题场景,发现了另外一个可能让大家会迷惑的情况。 当时在群里说了结果和原因,但微信群范围有限,所以单独写篇文章,拿出来给大家看看,顺便考考大家,对这块是否了解。 问题描述 这个问题的基础工程我用了之前Spring Boot 2.x基础教程中《使用Spring Data...
阅读全文文章介绍了spring-boot中实现通用auth的四种方式,包括 传统AOP、拦截器、参数解析器和过滤器,并提供了对应的实例代码,最后简单总结了下他们的执行顺序。 前言 最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收获也很大,代码方面不明显,但感觉自己抹掉了 java、Tomcat、Spring...
阅读全文当我们使用Spring Initializrhttps://blog.didispace.com/spring-initializr-in-intellij/来创建Spring Boot工程的时候,有没有发现在工程根目录下有两个名为mvnw的文件: !https://blog.didispace.com/images/pasted-421.png...
阅读全文最近有幸试用了一下阿里云的一个新产品:云开发平台,体验一把全新的开发模式!虽然中间也碰到了一些问题,但整体的体验透露着未来感,因为整个过程都不需要使用我们最常用的IDEA,仅依靠浏览器就把一个Spring Boot干上线了! > 啥是云开发平台?云开发平台(https://workbench.aliyun.comhttps://workbench.aliyun.com),是阿里云面向广大开发者提供...
阅读全文Spring MVC执行流程已是JAVA面试中老生常谈的问题,相信各位小伙伴也是信手拈来。今天我们来谈谈另一个面试中必会必知的问题: @RestController和@Controller的区别? - Spring MVC中的REST实现 - @Controller + @ResponseBody注解 - @RestController注解 Spring MVC 与 REST...
阅读全文在昨天的《事务管理入门》http://blog.didispace.com/spring-boot-learning-21-3-10/一文发布之后,有读者联系说根据文章尝试,加了@Transactional注解之后,事务并没有回滚。 经过一顿沟通排查之后,找到了原因,在此记录一下,给后面如果碰到类似问题的童鞋一个参考。 问题原因...
阅读全文通过之前Spring Cloud系列教程中的《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》http://blog.didispace.com/spring-cloud-starter-dalston-4-1/一文,我们已经知道如何通过Hystrix来保护自己的服务不被外部依赖方拖垮的情况。但是实际使用过程中经常碰到开发反应“莫名”触发了降级逻辑的情况。为了更精准...
阅读全文> 在上一篇《使用Swagger2Markup实现API文档的静态部署(一):AsciiDoc》http://blog.didispace.com/swagger2markup-asciidoc/中,我们介绍了如何使用Swagger2Markup将Swagger文档转换成AsciiDoc,再将AsciiDoc转换成静态HTML。下面,本文将继续介绍Swagger2Markup可以转换的另外两种格式...
阅读全文前言 我们知道Eureka分为两部分,Eureka Server和Eureka Client。Eureka Server充当注册中心的角色,Eureka Client相对于Eureka Server来说是客户端,需要将自身信息注册到注册中心。本文主要介绍的就是在Eureka Client注册到Eureka Server时RetryableClientQuarantineRefreshPercent...
阅读全文IoC ------ 控制反转Inversion of Control是OOP中的一种设计原则,也是Spring框架的核心.大多数应用程序的业务逻辑代码都需要两个或多个类进行合作完成的,通过IoC则可以减少它们之间的耦合度. 实现方法 ------ IoC的主要实现方法有两种,依赖注入与依赖查找. 依赖注入 : 应用程序被动的接收对象,IoC容器通过类型或名称等信息来判断将不同的对象注入到不同的属...
阅读全文