java
文章平均质量分 68
码农小胖哥
资深架构师,Spring Authorization Server Contributor
展开
-
反应式数据库驱动R2DBC正式发布1.0
2022年4月25日,R2DBC社区宣布具有普遍可用性的1.0.0.RELEASE正式发布。R2DBC致力于为反应式编程 API操作关系型数据库带来规范支持,R2DBC不同于我们熟知的JDBC规范,它是异步的、响应式的。原创 2022-04-26 11:33:00 · 1464 阅读 · 0 评论 -
Maven中央仓库增加依赖漏洞提醒功能
Maven中央仓库这个功能非常及时原创 2021-12-31 17:38:32 · 3665 阅读 · 0 评论 -
Apache Log4j2团队宣布Log4j 2.16.0发布,强烈建议升级
log4j 2.16.0发布,强烈建议升级原创 2021-12-14 13:13:46 · 4489 阅读 · 10 评论 -
Java 16 正式发布,已经是Java 8的两倍了
就在刚刚,Java 16正式发布。Java 16 正式发布主要特性Vector API(孵化)提升了Java在CPU向量计算的性能,这是对大规模的张量计算的支持,提升了Java在AI领域的...原创 2021-03-17 07:05:20 · 6206 阅读 · 5 评论 -
IntelliJ IDEA启动画面的秘密:当编程遇到艺术
细心的同学会发现 Intellij IDEA 每次发版本的时候都会有不同的启动界面背景,都很比较抽象的艺术图像。2020.3的启动界面背景❝JetBrains 的其它产品也有自己独特的设...原创 2021-01-13 09:15:13 · 1306 阅读 · 0 评论 -
Java微信支付V3 DEMO分享
1. 前言距离上次发原创分享应该有 12 天了,最近忙里忙外的,无论是 Spring Security OAuth2 相关的,还是微信支付相关的都留了很多坑没有来得及去补,所以十分抱歉。...原创 2020-12-02 07:30:00 · 4146 阅读 · 4 评论 -
Java中类型判断的几种方式
1. 前言在Java这种强类型语言中类型转换、类型判断是经常遇到的。今天就细数一下Java中类型判断的方法方式。2. instanceofinstanceof是Java的一个运算符,用来...原创 2020-09-23 07:45:00 · 5942 阅读 · 0 评论 -
如何实现类似@Component的Spring动态注入功能
1. 前言我们在上一篇对Mybatis如何将Mapper接口注入Spring IoC进行了分析,有同学问胖哥这个有什么用,这个作用其实挺大的,比如让你实现一个类似@Controller的...原创 2020-09-19 07:50:00 · 1698 阅读 · 0 评论 -
我对响应式编程中Mono和Flux的理解
1. 前言很多同学反映对响应式编程中的Flux和Mono这两个Reactor中的概念有点懵逼。但是目前Java响应式编程中我们对这两个对象的接触又最多,诸如Spring WebFlux、...原创 2020-08-29 00:13:10 · 4653 阅读 · 0 评论 -
Java程序员不缺对象,缺的是对象存储
1. 前言文件服务器是一个应用必要的组件之一。最早我搞过FTP,然后又用过FastDFS,接私活的时候我用MongoDB也凑合凑合。现如今时代不同了,开始流行起了OSS。Gitee: h...原创 2020-08-25 07:50:00 · 1360 阅读 · 0 评论 -
如何系统学习Spring框架
1.前言最近有朋友私信胖哥说自己从事Java开发好几年了,但是从来没有系统学习过Spring框架,希望找到一条系统学习Spring的路线来提升一下自己。这像极了以前的我,想学却不知道从哪...原创 2020-08-22 08:00:00 · 2370 阅读 · 3 评论 -
Java SPI 居然这么多知名框架在用
1. 前言Java SPI全称Java Service Provider Interface。是 Java 提供的一套用来被第三方实现或者扩展的 API,它可以用来启用框架扩展和替换组件...原创 2020-08-13 07:50:00 · 1039 阅读 · 0 评论 -
自己动手编写一个Mybatis插件:mybatis脱敏插件
1. 前言在日常开发中,身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。否则容易造成个人隐私泄露,客户资料泄露,给不法分子可乘之机。但是数据脱敏不是把敏感信息隐藏起来,而是看...原创 2020-08-10 18:20:00 · 1564 阅读 · 0 评论 -
只知道java反射,宁知道内省吗?
1. 前言在上一文中我们封装了一个Mybatis通用 Mapper。为了获得实体类属性我使用了反射。大多数同学也第一感觉会用反射实现,其实还有一种技术也能实现,这就是内省(Introsp...原创 2020-08-07 07:48:00 · 687 阅读 · 0 评论 -
分享两个操作Java枚举的实用方法
1. 前言Java枚举在开发中是非常实用的。今天再来分析几个小技巧并且回答一些同学的的疑问。首先要说明的是我的枚举建立在以下的范式之中:枚举统一接口范式2. 如何把枚举值绑定的下拉列表这...原创 2020-08-02 08:14:32 · 980 阅读 · 0 评论 -
Spring Data R2DBC响应式操作MySQL
1. 前言在使用 R2DBC 操作 MySQL 数据库 一文中初步介绍了r2dbc-mysql的使用。但是借助于DatabaseClient操作MySQL,过于初级和底层,不利于开发。今...原创 2020-07-28 07:50:00 · 2920 阅读 · 0 评论 -
胖哥送你一些Java正版技术书籍,简直就是白PIAO
胖哥联合华章图书来发福利了,按照出版社的要求阅读量达到一定数量就送一些新书,我觉得保底两本没有问题。这些书直接群里红包抽奖送了,两天后我截图给出版社,所以想要书的同学可以加我微信MSW_...原创 2020-07-14 22:46:18 · 1563 阅读 · 0 评论 -
Java常用构建对象的三种方式
1. 前言当我们面对具有大量可选成员变量的 Java 类时,创建这些对象的最佳方法是什么?通常有三种方法: 伸缩构造函数,JavaBean模式和构建器模式。2. 构造函数UserInfo...原创 2020-07-11 09:37:18 · 1705 阅读 · 1 评论 -
原来这就是Java代码生成器的原理啊,太简单了
1. 前言前几天写了篇关于代码生成器的文章(可查看历史文章),不少同学私下问我这个代码生成器是如何运作的,为什么要用到一些模板引擎,所以今天来说明下代码生成器的流程。2. 代码生成器的使...原创 2020-07-09 09:50:33 · 2384 阅读 · 1 评论 -
Spring注解@Import实现多模块中Bean的导入
1. 前言很多时候我们的Spring项目使用多模块,或者我们需要将自己特定的类库打成依赖。默认情况下Spring Boot应用只会扫描main方法所在的包路径下的Bean和通过sprin...原创 2020-07-08 14:16:01 · 2107 阅读 · 0 评论 -
Spring 5的最终功能发行版即将来临
欢迎加入[微信圈子]程序员交流圈交流编程经验。1. 前提概要2020 年 6 月 25 日Spring Framework团队发布博客宣布Spring Framework最新的里程...原创 2020-06-28 07:50:00 · 1385 阅读 · 0 评论 -
Jib无痛构建Docker镜像不影响第二天上班
1. 前言Jib,容器化你的Java应用Jib是Google开发的可以直接构建 Java应用的Docker和OCI镜像的类库,以Maven和Gradle插件形式提供。它最骚操作的是可以在...原创 2020-06-25 16:06:53 · 1393 阅读 · 1 评论 -
只会JDBC连接MySQL?来试试R2DBC吧
1. 简介三月份已经介绍过R2DBC,它是一种异步的、非阻塞的关系式数据库连接规范。尽管一些NoSQL数据库供应商为其数据库提供了反应式数据库客户端,但对于大多数项目而言,迁移到NoSQ...原创 2020-06-23 07:55:00 · 3852 阅读 · 4 评论 -
聊聊依赖注入注解@Resource和@Autowired
1. 前言@Resource和@Autowired注解都可以在Spring Framework应用中进行声明式的依赖注入。而且面试中经常涉及到这两个注解的知识点。今天我们来总结一下它们。...原创 2020-06-06 11:10:29 · 1508 阅读 · 1 评论 -
去饭店吃了个饭居然学会了设计模式中的命令模式
1. 前言设计模式中的命令模式是一种行为设计模式。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象执行。典型的 “大家各干各的把事情干成”。2. 命令模式命令模式的基本U...原创 2020-05-28 08:00:00 · 1126 阅读 · 1 评论 -
Spring MVC 函数式编程进阶
1. 前言上一篇对 Spring MVC 的函数式接口编程进行了简单入门,让很多不知道的同学见识了这种新操作。也有反应这种看起来没有传统写法顺眼,其实大家都一样。但是我们还是要敢于接受和...原创 2020-05-17 18:02:21 · 1224 阅读 · 0 评论 -
Java14它真的来了, 真是尾气都吃不到了
1. 前言前几天刚刚介绍了一个Java14很有用的预览特性 Java 14 新特性之 JEP 359: Records(Preview)。Java 14 就在 17 日发布了正式版本。大部分人还在用着 Java 8 , 真是尾气都吃不到了。不过好歹不是LTS版本,大家不要慌。2. Java14 新特性此版本包含的 JEP(Java/JDK Enhancement Proposals,JDK ...原创 2020-03-18 10:02:53 · 2229 阅读 · 6 评论 -
重磅:2020年 JVM 生态报告解读
1. 前言2020 年 JVM 生态报告已经出炉。该报告由英国软件安全服务商 Snyk 联合 Oracle 官方刊物 The Java Magazine 联合推出。我们来看看 JVM 生...原创 2020-03-04 07:30:00 · 1155 阅读 · 0 评论 -
Java 14 新特性之JEP 359: Records(Preview)
1. 前言 本月(2020-03) Java 14 就该正式发布了,有一个 Java 社区呼唤已久的特性将作为 preview feature包含在 Java 14 中 ,这就是 JEP...原创 2020-03-03 08:00:00 · 1400 阅读 · 0 评论 -
Java 中几种获取文件路径的方式
1. 前言 Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。2. 文件的路径 文件的路径通常有 相对路径 与 绝对路...原创 2020-02-18 12:44:22 · 5920 阅读 · 1 评论 -
Java 8 Stream 的终极技巧——Collectors 操作
1. 前言昨天在 Collection 移除元素操作[1] 相关的文章中提到了 Collectors 。相信很多同学对这个比较感兴趣,那我们今天就来研究一下 Collectors 。2. Collectors 的作用Collectors 是 Java 8 加入的操作类,位于 java.util.stream 包下。它会根据不同的策略将元素收集归纳起来,比如最简单常用的是将元素装入...原创 2020-01-02 17:29:09 · 2284 阅读 · 0 评论 -
Java Collection 移除元素的几种方式
1. 前言操作集合是一个 Java 编程人员几乎每天都在重复的事情。今天我们来研究一下从 Java Collection 中删除元素的方法。我构建了一个简单的集合,我们以此为例子来展开探索。 List<String> servers = new ArrayList<>(); servers.add("Felordcn"); serv...原创 2019-12-31 21:19:28 · 2434 阅读 · 0 评论 -
Java 是如何优雅地处理NPE问题的
1. 前言对于 Java 开发者来说,null 是一个令人头疼的类型,一不小心就会发生 NPE (空指针) 问题。也是 Java 语言为人诟病的一个重要原因之一。在我们消除可恶的 NPE 问题之前我们要回顾一下 Java 中 null 的概念。2. Java 中的 null翻译自 Oracle Java 文档Java语言中有两种类型,一种是 基本类型 ,另一种是 引用类型。还有一种没有...原创 2019-12-02 21:14:59 · 2868 阅读 · 0 评论 -
Java 8 Stream Api 中的 map和 flatMap 操作
1.前言Java 8 提供了非常好用的 Stream API ,可以很方便的操作集合。今天我们来探讨两个 Stream 中间操作 map(Function原创 2019-11-20 09:24:36 · 3144 阅读 · 3 评论 -
Java 8 Stream Api 中的 skip 和 limit 操作
1. 前言Java 8 Stream API 中的skip()和limit()方法具有类似的作用。它们都是对流进行裁剪的中间方法。今天我们来探讨一下这两个方法。2. skip()skip(lang n) 是一个跳过前 n 个元素的中间流操作。我们编写一个简单的方法来进行skip操作,将流剩下的元素打印出来。 public static void skip(long n) { ...原创 2019-11-12 23:21:28 · 3130 阅读 · 3 评论 -
Java Web 中对 ServletRequest 的一些非常规操作解决方案
1. 前言ServletRequest 是我们搞 Java Web 经常接触的 Servlet Api 。有些时候我们要经常对其进行一些操作。这里列举一些经常的难点操作。2. 提取 body 中的数据前后端交互我们会在 body 中传递数据。我们如何从 body 中提取数据。通常我们会通过 IO 操作: /** * obtain request body ...原创 2019-10-24 12:07:41 · 1086 阅读 · 4 评论 -
使用枚举实现状态机来优雅你的状态变更逻辑
福利现在关注微信公众号:码农小胖哥, 发送关键字【抽奖】进行抽奖,可有机会获取实体编程书籍。活动只剩下3天了抓紧参与!【本次抽奖截止到本周末】前言相信不少java开发者写过状态变更的业务,比如订单流程、请假流程等等。一般会搞一个状态标识来标识生命周期的某个阶段。很多人会写这种逻辑:如果流程几十个岂不是要if到爆炸。还有这“0”、“1”是几个意思?优化的办法当然可以使用设计模式中的状态模...原创 2019-08-28 17:07:54 · 2841 阅读 · 0 评论