一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Java

Spring Boot (十三): Spring Boot 小技巧

一些 Spring Boot 小技巧、小知识点

龙生   11 Jan 2024
View Details

Spring Boot(十二):Spring Boot 如何测试打包部署

有很多网友会时不时的问我, Spring Boot 项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下 Spring Boot 如何开发、调试、打包到最后的投产上线。

龙生   11 Jan 2024
View Details

Spring Boot(十一):Spring Boot 中 MongoDB 的使用

MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。基于分布式文件存储的数据库。由C++语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前 NoSql 数据库中比较热门的一种。

龙生   11 Jan 2024
View Details

Spring Boot (十):邮件服务

发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息。最早期的时候我们会使用 JavaMail 相关 api 来写发送邮件的相关代码,后来 Spring 推出了 JavaMailSender 更加简化了邮件发送的过程,在之后 Spring Boot 对此进行了封装就有了现在的 spring-boot-starter-mail ,本章文章的介绍主要来自于此包。

龙生   11 Jan 2024
View Details

Spring Boot(九):定时任务

在我们开发项目过程中,经常需要定时任务来帮助我们来做一些内容, Spring Boot 默认已经帮我们实行了,只需要添加相应的注解就可以实现

龙生   11 Jan 2024
View Details

Spring Boot(八):RabbitMQ 详解

RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。

消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将 RocketMQ 捐献给了 Apache,当然了今天的主角还是讲 RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,RPC 的调用等等。

龙生   11 Jan 2024
View Details

Spring Boot(七):Mybatis 多数据源最简解决方案

说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务。我们遇到的情况是后者,网上找了很多,大都是根据 Jpa 来做多数据源解决方案,要不就是老的 Spring 多数据源解决方案,还有的是利用 Aop 动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两个小时整理出来,供大家参考。

龙生   11 Jan 2024
View Details

Java Graphics2d消除锯齿,使字体平滑显示,解决字体太大时的失真

Java 2D API 的文本功能包括:

使用抗锯齿处理和微调(hinting)以达到更好的输出质量
可以使用系统安装的所有字体
可以将对图形对象的操作(旋转、缩放、着色、剪切等等)应用到文本上。
支持向字符串添加内嵌属性(如字体、尺寸、深浅,甚至图像)
支持双向文本(启用从右到左的字符顺序,就象您在阿拉伯语和希伯来语中可能遇到的一样)
第一光标和第二光标能够浏览同时包含从右到左和从左到右字符顺序的文本。
先进的字体度量功能,超过旧的 java.awt.FontMetrics 类中的相应功能
排版功能可以实现单词换行和调整多行文本

龙生   07 Jan 2024
View Details

Java 4种校验注解(值校验、范围校验、长度校验、格式校验)

1 Maven依赖

  2 值校验 2.1 @Null注解 被注解的元素必须为null

  2.2 @NotNull注解 被注解的元素必须不为null

  2.3 @NotBlank注解 验证注解的元素值不为空(不为null、去除首位空格后长度为0) ,并且类型为String。

  2.4 @NotEmpty注解 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) ,并且类型为String。

  2.5 @AssertTrue注解 被注解的元素必须为true,并且类型为boolean。

  2.6 @AssertFalse注解 被注解的元素必须为false,并且类型为boolean。

  3 范围校验 3.1 @Min注解 被注解的元素其值必须大于等于最小值,并且类型为int,long,float,double。

  3.2 @Max注解 被注解的元素其值必须小于等于最小值,并且类型为int,long,float,double。

  3.3 @DecimalMin注解 验证注解的元素值大于等于@DecimalMin指定的value值,并且类型为BigDecimal。

  3.4 @DecimalMax注解 验证注解的元素值小于等于@DecimalMax指定的value值 ,并且类型为BigDecimal。

  3.5 @Range注解 验证注解的元素值在最小值和最大值之间,并且类型为BigDecimal,BigInteger,CharSequence,byte,short,int,long。

  3.6 @Past注解 被注解的元素必须为过去的一个时间,并且类型为java.util.Date。

  3.7 @Future注解 被注解的元素必须为未来的一个时间,并且类型为java.util.Date。

  4 长度校验 4.1 @Size注解 被注解的元素的长度必须在指定范围内,并且类型为String,Array,List,Map。

  4.2 @Length注解 验证注解的元素值长度在min和max区间内 ,并且类型为String。

  5 格式校验 5.1 @Digits注解 验证注解的元素值的整数位数和小数位数上限 ,并且类型为float,double,BigDecimal。

  […]

龙生   27 Dec 2023
View Details
1 7 8 9 62