Json 的序列化和反序列化是我们常见的操作,很多库都提供了这样的能力帮助我们完成这样的操作。 但业务有时可能变得稍微有些复杂,需要将一个抽象类的子类
过去我知道有圈复杂度这个概念,它代表了代码的复杂程度。但是却没有了解过它是怎么算出来的,哪些代码会影响它的结果。 今天我们就来看一下,圈复杂度
Eureka 是 Spring Cloud Netflix 的服务注册与发现工具。一般情况下,它都能很好的工作,但有时却会出现一些匪夷所思的情况。 今天我们就来研究一下不当的配置导致的幽灵服务
使用 Spring Security ACL 的例子
介绍 Spring Security ACL 中核心的概念和组件
如何优雅的关闭 Docker container
在前面的文章里,我们对 Spring Security 进行权限验证的组件有了大致的了解,我们首先来回顾并探究一下细节。 Figure 1. 本文涉及到的组件 FilterSecurityInterceptor 这是 AbstractSecurityInterceptor 的一个子类,并且实现了
本文介绍 Spring Security 的身份认证的内容,研究 Spring Security 自带的身份认证方式和添加自己的身份认证方式的方法。 身份认证相关组件 在上一篇文章中,我们了解到了 Spring Security 会将
Spring Security 是 Spring 框架中用于实现 Security 相关需求的项目。我们可以通过使用这个框架来实现项目中的安全需求。 今天这篇文章将会讨论 Spring Security Servlet 是如何工作的。 之所以将内容
在上一篇文章中,我们在没有使用任何插件的情况下,练习了使用 Gradle 构建 Java 项目,最后得到一个脆弱的构建脚本和不符合约定的目录结构。 对此,Gradle
本文目标是探索在没有使用任何额外插件的情况下,如何使用 Gradle 构建一个 Java 项目,以此对比使用 Java 插件时得到的好处。 初始化项目 使用 Gradle Init 插件提供的 init task 来创
《微服务架构设计模式》这本书介绍了引入微服务架构后面临的挑战,提供了一些模式用于应对这些挑战。所有的模式都可以在 作者的网站上找到,书上只是使
端口与适配器架构又被称为六边形架构,是一种约定代码设计的架构。它解决的是如何设计代码的问题,主要的关注点在于业务与技术的解耦。 第一次看到这个
作为一个后端开发,我们经常遇到的一个问题就是需要配置 CORS,好让我们的前端能够访问到我们的 API,并且不让其他人访问。而在 Spring 中,我们见过很
概念 HTTP 协议中的 Origin Header 存在于请求中,用于指明当前请求来自于哪个站点。 字段内容 Origin 仅仅包含站点信息,不包含任何路径信息。 语法 Origin: "" Origin: "<schema>://<host>[:port]" // 例如 Origin: "https://baidu.com" // 错误
JVM 提供了自动化的内存管理,使得开发者不需要编写内存回收的代码。但是,JVM 是如何工作的呢?是如何知道哪些内存应该被清理呢?又如何减小垃圾回收
个人十分喜欢 Hexo 博客框架下的 NexT 主题,所以自己的博客也就选择的这个主题。然而最近换了电脑之后傻眼了,git clone 之后发现 themes/next 是个空目录,github 上
在学习 Spring Cloud 的时候,文档一开始就提到了一个概念:Twelve-Factor App。这勾起了我的好奇心,刚好有个网站用来解释这个东西,这里谈谈我
Spring Boot 为我们带来了自动配置的舒适体验,极大的提高了开发效率。当我们需要使用第三方库,而这些库没有实现 Spring Boot Auto-Configururation 时,我们为了避免在不同项目中的重复配
还差几天就工作满一年了,记录一下一些不足以写成博客的经验吧。 关于数据库访问层 做后端开发必定是要访问数据库的,经历的几个项目分别使用了 JDBCTemplate 和 QueryDSL ,