自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

转载 RequiredArgsConstructor——简化Autowired依赖注入

原文链接:https://blog.youkuaiyun.com/xc_nostalgia/article/details/109668659。//这里必须是final,若不使用final,用@NotNull注解也是可以的。这样写实际上编译后和spring推荐的写法是一样的哦,是不是很简洁。后发现该方法有几率导致Spring循环引用问题,所以还是不推荐使用。以前使用spring依赖注入,都是使用Autowired注解。使用这种方式,如果注入的类太多的话,看起来很繁琐的。

2022-10-11 09:26:35 515

原创 springboot启动原理(自动装配、条件装配)纯源码

点进去这些类,我们就可以看到,他们都有注册bean对象。:点进去这个注解,我们可以看到他Import,导入了一个Registrar类,点进去这个类可以看到,他获取了启动类的包名。那就证明了,我们的@ComponetScan所需要的包名就是这个注解提供的,也就证明了我们自己写的类可以加载到的原因。,点进去这个注解我们可以看到,除了原生注解以外,有一个Configuration注解,这就表明了,我们的启动类也是一个配置类,可以当作配置类使用,我们可以将一些第三方类在启动类中注册成为bean对象。

2022-09-14 23:52:39 330

原创 druid报错:c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection.

当程序获取数据库连接,对已存在的数据库连接进行检查,检查到空闲时间过久的连接会进行注销,并报出错误提示。在日志文件中经常看到此报错。

2022-08-18 10:47:24 3741

原创 idea中启动多个微服务(开启RunDashBoard管理)

2.打开workspace.xml,找到其中的配置项 RunDashboard。3、重启服务或者IDEA之后就可以看到Run Dashboard面板开启了。1、找到workspace.xml。

2022-08-04 10:27:33 663

原创 后端响应数据,只显示查询到的数据

@JsonInclude(value=JsonInclude.Include.NON_NULL) 此注解加在类上。查询到的数据,有些数据我们不需要显示。如果不做处理 不加此注解的话,返回的值携带那些不需要展示的数据,而且都是null值。加了此注解,可以只返回那些我们查询到的、有结果的数据。一个接口需要过滤掉返回值为null的字段,即值为null的字段不返回@Notnull注解,加在属性上,前端向后端发请求,会帮我们判断此属性是否为空,就不需要再每个方法的开始做这些业务非空判断了。...

2022-07-04 11:05:52 417

原创 java优雅的非空判断

字符串非空判断:lang3包下的StringUtilsisNotEmpty判断非空不严格,判断字符串是否为空以及字符串的长度是否大于0,无法检测出字符串是否包含空格。isNotBlack判断非空严格,判断某字符串是否不为空且长度大于0且不由空白符(whitespace)构成。如果字符串中只有一个空格,他会检测出来是空的,而isNotEmpty无法检测出来。集合判断非空:导入依赖后,调用 CollectionUtils.isNotEmpty即可 对象判断非空:1. Optional.of()或者O

2022-06-09 16:00:50 2211

原创 图片文字识别—OCR技术

通过自维护的敏感词库利用DFA技术和阿里云的第三方接口已经可以满足文本内容安全校验。但是有些用户可能会发一些图片,在图片上加一些违规内容,阿里云的图片检测只能检测涉黄、暴恐涉政、违规、二维码等不良场景,他是无法校验文本是否违规的。其实使用阿里云的图片OCR识别是可以进行检测的,但是公司可能不希望承担这笔费用,想要节省开支。所以如果我们自己去校验的话,就需要利用OCR技术识别图片中的文字,然后将文字添加到需要文本内容检测的字段中,再利用DFA技术和阿里云的内容文本检测就可以判断用户发送的图片内容是否违规了。

2022-05-27 00:18:47 3757

原创 内容安全校验—DFA算法的简单使用

内容安全校验—DFA算法简单实用使用阿里云进行内容安全校验,可以过滤一些色情、广告、灌水、渉政、辱骂等内容。但是在企业中的业务,可能有些敏感词是阿里云第三方接口所无法检测到的,又或者是公司需要节省开销,这样的话就需要自己维护一套敏感词。在内容审核的时候,会先校验自己维护的敏感词库是否包含此内容,如果出现了就不需要再用阿里云第三方接口来校验内容安全了,就省了一笔开销。敏感词过滤有四种方案:数据库模糊查询,这种方式效率太低String.indexOf(“”)查找,这种方式 如果数据库量大的话也是

2022-05-26 22:57:56 1002

原创 异步调用—线程池技术

同步调用:实时处理,就是在发出一个调用时,在没有得到结果之前, 该调用就不返回 。优点:时效性较强,可以立即得到结果缺点:耦合度高、性能和吞吐能力下降、有额外的资源消耗、有级联失败问题异步调用:分时处理,调用在发出之后,这个调用就直接返回了,没有返回结果。异步调用分为两种:1. 跨服务调用,MQ;2. 在一个服务中调用,线程池技术同步调用,虽然可以实时得到结果,但是响应时常太慢了,业务逻辑复杂,用户体验不好。所以在一个服务中使用的线程池技术。这种方式可以立刻给客户做出回应,十分优雅。

2022-05-26 18:21:55 877

原创 内容安全校验

内容安全是识别服务,支持对图片、视频、文本、语音等对象进行多样化场景检测,有效降低内容违规风险。目前很多平台都支持内容检测,如阿里云、腾讯云、百度AI、网易云等国内大型互联网公司都对外提供了API。下面演示阿里云内容安全第三方接口的使用。一. 准备工作:1. 注册阿里云账号(阿里云官网)2. 打开云盾内容安全产品试用页面,单击立即开通,正式开通服务。开通服务后,可打开内容安全控制台查看数据统计3. 在AccessKey管理页面可以管理AccessKeyID和AccessKeySecr

2022-05-25 20:50:50 1928

原创 提交代码的前缀规范

用于说明commit的类别:feat: 新功能(feature)fix: 修补bugdocs: 文档(documentation)style: 格式(不影响代码运行的变动)refactor: 重构(即不是新增功能,也不是修改bug的代码变动)chore: 构建过程或辅助工具的变动revert: 撤销,版本回退perf: 性能优化test:测试improvement: 改进...

2022-05-24 10:21:09 495

原创 java正则表达式工具类

import java.util.regex.Pattern;/**校验器:利用正则表达式校验邮箱、手机号等@author bai*/public class Validator {/** * 正则表达式:验证用户名 */public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,17}$";/** * 正则表达式:验证密码 */public static final String REGEX_PASSWORD =.

2022-05-24 10:11:46 367

原创 springboot配置springmvc拦截器

1. 自定义拦截器,继承HandlerInterceptor,手动实现方法import org.springframework.stereotype.Component;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import ja

2022-05-22 19:26:47 1011

原创 Minio的简单使用、利用Freemarker技术生成静态页面并传入MinIO

MinIo简介MinIO是基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。MinIO兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。S3 ( Simp

2022-05-21 23:06:25 2294

原创 freemarker简单使用

freemarker简介FreeMarker 是一款 模板引擎技术: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备的数据需要在真实的编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备

2022-05-21 22:35:57 1744

原创 knife4j的简单使用

简介:knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍! 注意:knife4j是基于swagger的。gitee地址:knife4j: knife4j是为Java MVC框架集成Swagger生成Api文档的工具,前身是swagger-bootstrap-ui官方文档:knife4j效果演示:http://knife4j.xiaominfo.co

2022-05-20 00:18:33 1508

原创 springboot集成swagger

swagger简介:Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(API Documentation & Design Tools for Teams | Swagger)。它的主要作用是: 使得前后端分离开发更加方便,有利于团队协作 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担 功能测试 Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在

2022-05-20 00:07:17 196 1

原创 token工具类

1. 引入jwt依赖<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId></dependency>2. 工具类package com.heima.utils.common;import io.jsonwebtoken.*;import javax.crypto.SecretKey;import

2022-05-19 22:43:49 503

原创 逆向代码生成工具类

package cn.itcast.mp.generator;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.core.toolkit.StringUtils;import com.baomidou.mybatisplus.generator.AutoGenerator;.

2022-05-19 19:33:52 260

原创 Mysql事务自我总结

事务指的是,一组业务逻辑代码在一个事务中,执行提交或者回滚,要么同时执行 要么同时不执行。在java中用try catch代码块,控制事务中业务逻辑代码,如果是正常情况会执行提交操作 数据会持久化保存到数据库中,如果出现异常也会执行回滚操作,数据是没有持久化的,仅仅是临时改变了。事务有四大特性:原子性、一致性、持久性、隔离性 原子性:在同一个事务中的一组业务逻辑代码是不可分割的,也就是说,要么同时执行,要么同时不执行 一致性:当提交事务后,数据库中的数据总数应该保持不变,比如说转账业务中

2022-05-18 22:40:08 246

原创 mybatisplus分页查询

1. 配置mybatisplus分页插件/** * 配置MP的分页插件 */@Configurationpublic class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();

2022-05-14 13:21:57 438

原创 获取两个字符串日期之间的每一天

/** * 获取两个字符串日期之间的每一天 * 传入两个时间范围,返回这两个时间范围内的所有时间,并保存在一个集合中 * * @param beginTime * @param endTime * @return * @throws ParseException */public static List<String> findDates(String beginTime, String endTime) throws ParseException { .

2022-04-27 17:43:12 216

原创 短信发送工具类

import cn.hutool.http.HttpRequest;import java.util.HashMap;import java.util.Map;/** * 短信发送工具类 */public class SMSUtils { /** * ***************************** 添加http请求工具类在pom.xml中 <dependency> <groupId>cn.hutool</groupId>.

2022-04-17 21:29:46 619 1

原创 随机生成验证码工具类、随机生成指定长度字符串验证码

package com.itheima.reggie.util;import java.util.Random;/** * 随机生成验证码工具类 */public class ValidateCodeUtils { /** * 随机生成验证码 * @param length 长度为4位或者6位 * @return */ public static Integer generateValidateCode(int length){ .

2022-04-17 21:28:24 169

原创 springboot中,long类型数据,js丢失精度问题

项目中,数据库用bigint类型存储主键,java实体类中用long类型来存储对应的属性。这个时候前台通过ajax请求获取json数据时,使用了jackson来转换。但是javascript中number类型存储的长度小于long,精度为17位,超过17位的部分就会自动补0,而long类型数据是19或者20位,所以会出现丢失精度的问题。解决手段:将long类型转换为string类型,前端接收string类型是正常的,不会丢失精度。解决办法1:在long类型的字段上加上注解,把字段解析成字符串

2022-04-13 22:51:11 2654

原创 springboot静态资源映射配置类

未配置static、public、resource文件夹,spring是无法找到静态资源的,需要配置静态资源映射类复制以下代码,修改成自己对应的静态资源即可@Slf4j@Configurationpublic class WebMvcConfig extends WebMvcConfigurationSupport { @Override protected void addResourceHandlers(ResourceHandlerRegistry registry)

2022-04-12 16:58:07 319

原创 git 忽略文件

1. 新建.gitignore文件2. 复制粘贴到文件中保存即可*/target*.iml/.idea*.classtarget/.project.settings/.classpath

2022-04-12 16:35:47 300

原创 Collection接口

Collection

2022-02-14 12:23:07 244

原创 LinkedList集合

package List;import java.util.LinkedList;public class LinkedListDemo02 { public static void main(String[] args) { //linkedList集合继承自List集合,它底层的数据结构是双向链表,ArrayList集合中没有特有方法,它有一些特有方法(鸡肋),这些特有方法是专门操作头尾节点的 //单向链表由一个一个的节点组成。每个节点都有两个区域,指针域和.

2022-02-13 20:54:48 645

原创 浅谈:hashSet集合是有序还是无序的/hashSet集合具有唯一性,为何可以存入相同内容的元素

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-02-13 20:35:18 1171 2

原创 Markdown学习

Markdown学习标题:二级标题三级标题四级标题字体Hello,World!Hello,World!Hello,World!Hello,World!Hello,World!引用选择java,走向人生巅峰分割线图片超链接点击跳转到超神博客列表 表格名字 性别 生日 张三 ...

2021-06-15 22:11:06 1194

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除