News:三分天注定,七分靠打拼,爱拼才会赢!致力打造专业IT博客。如果你对本博客有任何意见或建议请联系作者,邮箱:blog@caokuan.cn

后端开发

RabbitMQ 安装实践

逝水无痕 183 0 条

记录 RabbitMQ 安装过程。系统环境:CentOS 7.6 Minimal(全新安装)。

JPA 根据 Entity 生成 SQL insert 语句工具类

逝水无痕 353 0 条

在使用 Spring JPA 开发的过程中,由于 JPA 框架的原因,在保存数据时如果存在实体引用,就会发查询 SQL 来验证引用实体的正确性,这就损失了不少的效率。其实在大多数情况下,引用的实体都是正常的,所以我们可以通过直接执行 insert 语句的方式来提高保存效率。

Java 8 计算日期和时间差

逝水无痕 207 0 条

Java 8 中提供了一套新的日期处理类,也提供了新旧日期类的转换方法。本篇文章主要讲如何利用新的日期处理类来计算两个日期的差值,这在日常开发中使用的非常多。

Java 获取外网 IP 地址

逝水无痕 312 0 条

实现 DDNS 的关键一环是获取本地外网IP,让后通过 api 更新 dns。在我们通过浏览器搜索 IP 关键字时,就会在搜索结果中显示我们的外网 IP。如果想通过程序代码获取外网 IP 该怎么办呢?这里提供两种方式:ip138 和 淘宝 IP。下面贴出了我写的示例代码,可以参考,也可以直接使用。

Java 如何实现枚举型字段值的校验

逝水无痕 729 0 条

在最近开发的产品中用到了自定义注解来校验字段的值,其中有一项是校验一个字符串或者数字是否是某个枚举里的值。整体实现不难,关键点是指定字段需要使用哪个枚举类校验和反射枚举类进行值校验。下面我写了一个小例子来简单说明实现方式。

使 JPA 中的 repository.save() 不执行 select 语句的方法

逝水无痕 508 0 条

在部门开发的产品中使用了 Spring JPA 做持久化框架。JPA 从开发效率上来说很高,而且从封装角度来说更易做框架级的封装。基本的增、删、改、查可以做好规范约束,再配合上代码生成器,单表功能开发非常的快。但是 JPA 在运行效率上就差了,很多本来一条语句就能解决的问题,JPA 会执行很多条语句。比如表单新增的数据,正常情况下一条 insert 语句就行了,但是 JPA 会先执行 select 语句再执行 insert 语句,...

Java 8 新特性 - 终极版

逝水无痕 206 0 条

Java 8 已经发布很久了,很多报道表明 Java 8 是一次重大的版本升级。在 Java Code Geeks 上已经有很多介绍 Java 8 新特性的文章,例如 Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime 和 Abstract Class Versus Interface in the ...

Singleton 单例模式

逝水无痕 143 0 条

Singleton 指仅仅被实例化一次的类。Singleton 通常被用来代表那些本质上唯一的系统组件,比如窗口管理器或文件系统。在日常开发中,我们实现单例模式的一般做法是私有化构造函数,并导出公有的静态成员。在《Effective Java》中介绍了一种新的实现单例模式的方法:枚举类。

Shiro 权限框架介绍

逝水无痕 175 0 条

权限体系在现代任何应用系统中都是很基础却又非常重要的部分,无论是传统 MIS 系统还是互联网系统,出于保护业务数据和应用自身安全的目的,都会设计自己的授权鉴权策略。在 Web 应用开发中常用的权限框架有 Shiro 和 Spring Security 等,本篇文章将主要介绍 Shiro 框架的大体结构和主要组件的作用。Shiro 官网地址:shiro.apache.orgGitHub 地址:github.com/apache/shiro

Date 和 LocalDate、LocalTime、LocalDateTime 互转

逝水无痕 736 0 条

由于在 JDK8 发布以前日期类库中存在的诸多诟病,所以在 JDK8 中增加了新的日期处理类库,包含如下 package:java.time:基于ISO_8601日历系统实现的日期时间库 java.time.chrono:全球日历系统扩展库,可以自行扩展 java.time.format:日期时间格式,包含大量预定义的格式,可以自行扩展 java.time.zone:时区信息库 java.time.temporal:日期时间调整辅...