logo头像

From zero to HERO

Spring Graphql 孵化成为顶级Spring项目

Spring Graphql 孵化成为顶级Spring项目

七月五号,Spring GraphQL项目正式从experimental(实验项目)移除,现在它是一个Spring顶级项目了。并且我从消息人士得知即将发布第一个里程碑版本。 该项目由Graph...

Java中如何获取泛型的Class对象

Java中如何获取泛型的Class对象

Java中的泛型有着很重要的作用,它能够让我们的数据容器类型安全,避免发生转换异常。不过Java中的泛型也为人诟病,它会在编译中被全部转换成Object对象,也就是泛型擦除,这造成了诸多不便,除...

后端Java开发如何防御XSS攻击

后端Java开发如何防御XSS攻击

跨站脚本攻击(XSS)可以让攻击者在受害者的浏览器中执行恶意脚本来修改网页内容、将用户重定向到非法网站、伪造用户登录态、窃取用户的隐私信息、甚至还能给程序开个后门等等,所以不得不防。今天就来分享...

Java Bean如何抽象简化

Java Bean如何抽象简化

今天在封装第三方应用的开放接口,写了很多返回值的类,这些类很多都是结构相似只是个别字段名称不一样。为了单独的字段就要复制一个改改不胜其烦,而且起名是最头疼的事情。就像下面这两个: @Equals...

2021年 JVM 生态报告解读

2021年 JVM 生态报告解读

最近知名安全机构Snyk和知名JDK供应商Azul联合推出了2021年度的JVM生态报告。该报告历经六周,相关调研收集了全球2000多名Java开发者的问卷回复。经过调研,对当前的JVM生态有了...

函数式编程类库vavr

函数式编程类库vavr

每当JDK发布了新版本就有同学说“你发任你发,我用Java 8”,可在工作中有不少人依然不太擅长使用Java8的新特性,而这些特性往往让Java不再“臃肿”。不过我个人认为Java8所有的新特性...

Java17新特性

Java17新特性

Java 17 目前已经进入Rampdown Phase One阶段,所有的功能特性都已经被冻结。这说明Java 17的新特性已经定了,不会再增加新的JEP(JDK增强建议)。之所以关心Java...

数据库同步工具Debezium

数据库同步工具Debezium

我们数据库中的数据一直在变化,有时候我们希望能监听数据库数据的变化并根据变化做出一些反应,比如更新对应变化数据的缓存、增量同步到其它数据源、对数据进行检测和审计等等。而这种技术就叫变更数据捕获(...

Spring Security 实战干货:获取当前用户

Spring Security 实战干货:获取当前用户

在某些场景中我们需要获取当前的用户是谁?如果你使用了Spring Secrity作为安全框架你可以通过以下手段获取当前用户。 SecurityContext无论是有状态的Session模式还是流...

Spring Boot 统一返回体踩坑

Spring Boot 统一返回体踩坑

在Spring Boot项目中我们可以通过RestControllerAdvice配合实现ResponseBodyAdvice<T>接口来保证Spring MVC接口具有统一的返回格...