logo头像

-------------

Fenix — 比 MyBatis 更加强大的 Spring Data JPA 扩展库

Fenix — 比 MyBatis 更加强大的 Spring Data JPA 扩展库

Fenix(菲尼克斯)是一个比 MyBatis 更加强大,为解决复杂、动态 SQL (JPQL) 而生的 Spring Data JPA 扩展库,目的是辅助开发者更方便、快捷的书写复杂、动态且易于维护的 SQL,支持 XML 和 J...

SpringBoot2.x 单元测试

SpringBoot2.x 单元测试

一个 bug 被隐藏的时间越长,修复这个 bug 的代价就越大。 我曾经在 单元测试指南 一文中写到过单元测试的必要性和 Java 单元测试相关的工具及方法。单元测试能帮助我们在早期就规避、发现和修复很多不易察觉的 bug 和漏洞...

Java代码性能评估库Stalker介绍

Java代码性能评估库Stalker介绍

English Document 这是一个简单的用来对Java代码做性能评估的工具库。 特性 轻量级(jar包仅26kb) API简单易用 易于集成或扩展 Maven集成<dependency> <gr...

一个极简的 Java ASCII 表格生成库

一个极简的 Java ASCII 表格生成库

一个轻量级、零依赖的 Java ASCII 表格生成库。 特性 轻量级、无依赖(jar包仅9kb) API简单易用 易于集成或定制修改,仅一个Java文件,且代码规范 集成使用Maven集成<dependency> ...

Java面向对象设计之桥接模式

Java面向对象设计之桥接模式

模式动机设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套各种颜色的版本。 第二种设计方案...

Java面向对象设计之适配器模式

Java面向对象设计之适配器模式

模式动机 在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。 通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有...

软件程序设计原则

软件程序设计原则

一、前言软件也像人一样,具有生命力,从出生到死亡,会经历多种变化。软件架构设计也不是一蹴而就的,是不断地演进发展。每个程序员都可以从理解编程原则和模式中受益。 软件设计原则是一组帮助我们避开不良设计的指导方针。根据Robert Mar...

单元测试指南

单元测试指南

一、必要性在我们公司中要做单元测试,确实比较难,因为公司缺少这种氛围,有也只是局部的,大多数工程师没有这方面的习惯和素养,很多人都是有一定的抵触的心理,经过我私下的了解大概有以下几种原因吧。 写单元测试太耗费时间了,项目要赶进度,编...

Java8新特性及使用(二)

Java8新特性及使用(二)

扩展注解的支持Java 8扩展了注解的上下文。现在几乎可以为任何东西添加注解:局部变量、泛型类、父类与接口的实现,就连方法的异常也能添加注解。下面演示几个例子: import java.lang.annotation.ElementT...

Java8新特性及使用(一)

Java8新特性及使用(一)

新特性列表以下是Java8中的引入的部分新特性。关于Java8新特性更详细的介绍可参考这里。 接口默认方法和静态方法 Lambda 表达式 函数式接口 方法引用 Stream Optional Date/Time API 重复注解 ...