java项目工具
文章平均质量分 73
java项目相关工具介绍
sword to coding
大学生一枚,致力于记录代码生活的每一滴
展开
-
apollo配置中心快速搭建
本文主要用户语速搭建apollo应用,基于官网文档进行搭建。原创 2022-10-23 18:34:35 · 776 阅读 · 0 评论 -
自定义钉钉群机器人
注意:自定义关键词:当发送的关键词包含这里的自定义关键词时,才会真正的发送加签:在发送时,需要指定加签证明,以保证安全IP字段:指定的ip发送的消息才可以真正发送我们使用关键字安全设置以上3种安全设置必须至少选一种。原创 2022-10-23 12:55:54 · 2838 阅读 · 0 评论 -
常用注解@JsonField、@JsonFormat、@DateTimeFormat区别
DateTimeFormat是前端数据到后端数据的处理@JsonFormat是后端到前端数据的处理@JsonField是集两者于一身的一个注解综上所述,更建议使用@JsonField。原创 2022-08-12 15:52:53 · 2188 阅读 · 0 评论 -
springboot+easyExcel
工作时,我们有时候会遇见这样的场景,老板要求我们在数据库中统计一些数据,并以excel表格的方式发送给老板。点击导出结果导出当前结果选择对应的文件导出即可通过sql语句可以直接得到我们需要的目标数据那么我们通过sql语句不能拿到我们想要的数据,而是需要进一步在java中进行进一步计算,这时我们就无法使用navicat了。这时我们使用的就是java中的excel操作:easyExcel本文介绍springboot中如何使用easyExcel。...原创 2022-08-11 23:30:27 · 2013 阅读 · 0 评论 -
fastjson使用方法
本文主要介绍项目中经常使用到的json库fastjson,这是在前后端分离项目中最常使用到的json库。原创 2022-07-25 21:24:46 · 659 阅读 · 0 评论 -
在springboot中使用 @Async 方法
当我们没有自定义时,springboot是怎么样采用默认配置的?翻译当spring执行这个方法时,默认会搜索关联的线程池定义。上下文中唯一的Spring框架TaskExecutorbean或名为“taskExecutor”的Executorbean。如果这两个都不能解析,默认会使用spring框架SimpleAsyncTaskExecutor来处理异步方法的执行。}结论一般情况下,建议手动实现AsyncConfigurer来自定义线程池。httpshttpshttps。...原创 2022-07-22 17:58:11 · 953 阅读 · 0 评论 -
如何自定义一个注解?
想要自定义一个注解,就必须了解5大元注解其中Retention是一个枚举类: 注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃(.java文件):注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期(.class文件): 注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在(内存中的字节码)@Target(ElementType.Field)指定注解会被JavaDoc工具提取成文档。默认情况下,JavaDoc是不包原创 2022-07-14 18:23:18 · 4417 阅读 · 0 评论 -
工作方法记录
Math.toIntExact 将long类型的数据改为int类型的数据。源码如下:传入long,返回int,如果long超过了int的范围时,抛出异常原创 2022-07-12 13:13:36 · 1827 阅读 · 0 评论 -
Slf4j + Logback日志框架
先引入相关依赖(当然很多包会间接依赖这些依赖)这里使用Slf4j的原因,市面上有很多日志框架,Slf4j可以看作一个接口或类似jdbc,将不同的日志框架整合起来,方便我们在一个项目中需要改变日志框架时,可以很好的进行维护。这里我们使用的是Slf4j + logback的方式。另外,Slf4j 日志输出采用占位符{}的方式,相对于其他的日志框架可以避免很多字符串拼接而造成的性能问题。接下来聊一聊关于logback配置文件的问题:当spring加载时会自动去路径下找到logback.xml的名字的文件并加载原创 2022-07-02 14:07:28 · 262 阅读 · 1 评论 -
后端中使用分页的几种方法(建议收藏)
前端会传来数据 ,表示第页显示条数据因为我们是直接使用sql语句的,所以我们需要使参数满足limit语法所以以下进行一定的计算然后在我们查询sql的最后加上limit语句即可插件Mybatis-PageHelper(拦截器原理)需要依赖该插件可以先让我们在层查询出列表后,过滤后再进行分页第一步:设置分页第二步:从层获取列表数据并自行过滤第三步:分页封装之后,里面的属性就可以供我们使用了。具体可以使用的数据如下在service中对list进行拆分使用的进行分页MP官方插件首先需要原创 2022-06-24 16:51:25 · 13413 阅读 · 2 评论 -
后端中dto、vo、entity的区别
在后端的项目开发中,我们经常会碰到一些包,比如、、,其中都会有一些实体类,但是每个包到底表示什么含义呢?首先表示对数据库中所有表的映射,是根据数据库表字段设计出来的实体(要求表名与类名相同,字段名与成员变量名相同)vo包表示前端页面传过来的如表单等数据的字段,比如当前端填写了一个表单,当前端传过来的数据较多时,我们可以创建一个实体类,将前端传来的数据字段名作为成员变量名,这样我们就可以使用注解快速获取参数内容,而不需要使用Request对象来一个个获取,方便开发。而dto包表示的是 和的一个中间转换对象,是原创 2022-06-15 17:25:59 · 18188 阅读 · 6 评论 -
日期相关工具包
日期相关操作方法,常用于前端日历获取信息原创 2022-06-01 12:55:59 · 84 阅读 · 0 评论 -
后端业务之忘记密码功能
本文讲解是基于前后端分离项目关于项目使用邮箱忘记密码的功能前端需要设计一个页面,点击找回密码,跳转到找回密码界面。找回密码界面有三个数据项:邮箱号(当然也可以是手机号,不过本篇文章主要研究邮箱的方式)、验证码。用户输入邮箱,点击发送验证码。此时前端调用后端的接口(数据部分会带上邮箱号)后端接收到邮箱,会先在数据库查找该邮箱号是否存在。如果不存在,则返回前端一些可读的错误信息。如果查询到邮箱对应有存在用户,则可以执行向该邮箱发送验证码的功能。想要通过Java向指定的邮箱发送验证码,首先我们能.原创 2022-05-23 19:57:21 · 909 阅读 · 0 评论 -
springboot项目热部署
文章目录1.setting设置2.registry配置3.加入依赖配置4.启动配置5.yml文件配置springboot微服务在启动过程中非常慢,特别是大型项目。那我们在开发环境中如果对某一些代码进行修改,如果像以前一样重新启动项目,严重地降低了开发效率,这是我们就要使用热部署。热部署是指在我们修改了代码,在不重新手动启动项目地情况下,自动帮助我们重新编译、启动项目,提升了开发相率。本项目使用的是IDEA进行热部署。1.setting设置2.registry配置shift+ctrl+alt原创 2022-04-16 12:18:15 · 968 阅读 · 0 评论 -
基于博客系统的访客日志记录----代码合集
本文章是基于我的另一篇博客所写的相关代码,如果还没看过的可以先看看我这篇文章:https://blog.csdn.net/qq_56769991/article/details/123915587核心代码自定义注解:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface VisitLogger { /** * 访问行为枚举 */ VisitBehavior value() defa原创 2022-04-02 11:42:36 · 1043 阅读 · 0 评论 -
基于博客系统的访客日志记录
当我们做的一些应用需要记录一些接口被访问时用户的信息时,我们就需要用到一些记录请求的技术,并记录日志到数据库。本文章使用的方法:注解+AOP原理:事先在数据库中建立一个记录访客日志的一张表。先自定义一个注解@VisitLogger,然后我们在根据spring的切面技术,在切面中解析我们的注解里面的内容,然后通过注解和request中提取的信息进行整合,并保存到数据库。大概流程就是这样。切入点位controller中的方法。基于博客系统的访客日志记录自定义注解@VisitLogger//用于记录访客访原创 2022-04-02 11:31:59 · 1244 阅读 · 0 评论 -
@AccessLimit接口限流
当我们需要对后端的某些接口进行限流(其实防止一些请求在一定时间内进行多次访问,比如防止用户1秒内多次进行评论、防止多次重复登录等操作,这时我们就需要对该接口进行限流)当然限流操作还有一些场景:秒杀活动,有人使用软件恶意刷单抢货,需要限流防止机器参与活动某api被各式各样系统广泛调用,严重消耗网络、内存等资源,需要合理限流淘宝获取ip所在城市接口、微信公众号识别微信用户等开发接口,免费提供给用户时需要限流,更具有实时性和准确性的接口需要付费。总的就是说防止同一用户对单个接口进行重复调用,这里我们原创 2022-04-01 22:08:21 · 2232 阅读 · 1 评论 -
关于数据菜单如何从后端获取数据
通常前端页面会设计一个树型类型的菜单,而这些菜单的内容又需要根据我们的业务而定,这些数据是动态变化的那么我们的后端该如何设计数据库呢?这里我们采用id-parentId的形式进行设计数据库只要知道了一个跟结点的id,我们就可以根据这个id看成parentId去数据库中查询where parentId=#{parentId}就可以查到一个结点的子节点,这样一层一层遍历。就可以遍历出整个树形结构。当然上面只是简单的说一下,具体的逻辑还要看下面的讲解。如何设计数据库首先每个结点需要需要一个唯一的i原创 2022-03-26 12:23:56 · 2324 阅读 · 0 评论 -
easyExcel表格组件
一款由阿里巴巴开源的java操作excel组件步骤一:导入相关依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.0.5</version></dependency>步骤二:获取要导入的表的表头信息原创 2022-03-25 19:49:03 · 732 阅读 · 0 评论 -
oss与文件上传组件MultipartFile
关于如何注册阿里云的oss这里不再进行介绍,本文章主要针对对oss有一定的了解的朋友如何在后端搭建oss服务有两种方案:1.原生版直接从oss官网copy的代码package com.zj.aliyunossdemo.method1.utils;import com.aliyun.oss.OSS;import com.aliyun.oss.OSSClientBuilder;import com.aliyun.oss.model.PutObjectRequest;import jav.原创 2022-03-24 22:31:57 · 1627 阅读 · 0 评论 -
Spring Security 快速入门(2)
本文章将介绍Spring Security更多基本用法,不断迭代成为实际项目中可用的技术。文章目前针对于spring,与spring boot整合将在以后出文章。友情链接:Spring Security 快速入门(1)一.创键一个页面,设置为可以匿名访问匿名访问:即不管该用户是否有没有认证或授权,都可以访问a.html<!doctype html><html lang="en"><head> <meta charset="UTF-8">.原创 2022-02-10 23:58:27 · 294 阅读 · 0 评论 -
Spring Security 快速入门(1)
文章目录一.背景:1.授权与认证的理解:二.入门案例1.spring依赖导入:2.创建index.html3.配置web.xml (整合spring security、加载spring配置文件)4.创建spring-security配置文件(配置认证、授权等关系)一.背景:在一个项目中,我们有很多功能,例如增删改查等基本功能,还有很多额外的扩展功能。在生产环境下我们如果不登录后台系统就可以完成这些功能操作吗?案显然是否定的,要操作这些功能必须首先登录到系统才可以。:是不是所有用户,只要登录成功就都原创 2022-02-10 18:41:51 · 2351 阅读 · 2 评论 -
freemarker 页面静态化技术
文章目录一.背景二.页面静态化技术freemarker三.Freemarker基本操作1.引入依赖:2.创建模板文件:3.FTL指令:四.freemarker整合spring五.总结:1.什么是网页静态化技术2.网页静态化技术与缓存技术的比较3.网页静态化技术的应用场景4.什么是FreeMarker一.背景用户访问动态页面时都需要通过ajax发送请求查询数据库获取动态数据进行展示,但是这页面的访问量如果比较大且数据库中的数据变化频率并不高,这就会对数据库造成了很大的访问压力。如何对数据库减压并提高系原创 2022-02-08 23:07:22 · 1708 阅读 · 1 评论 -
阿里云-短信服务
短信服务简介:目前市场上有很多第三方提供短信发送服务,这些第三方与各个运行商(移动、电信、联通)对接,我们只需要注册成为会员并按照提供的开发文档调用就可以发送短信,需要说明的是这些短信服务都是需要收取费用的。短信服务常用于:发送短信验证码、短信通知等。我们介绍阿里云提供的短息服务。短信服务API提供短信发送、发送状态查询、短信批量发送等能力,在阿里云短信服务控制台上添加签名、模板并通过审核之后,可以调用短信服务API完成短信发送等操作。点击进入阿里云官网:阿里云官网一.服务使用流程注册阿里原创 2022-02-08 13:25:49 · 1658 阅读 · 0 评论 -
lombok工具介绍
1.使用lombok的原因当一个实体类里的成员属性太多时(特别是开发大型项目时),手动生成get、set方法会产生极大的不方面,使用lombok可以是我们自动的去生成这些方法,极大的提升开发效率。另外我们在自己写小demo时,可能会改变一些实体类的成员属性,紧接着我们又要修对应set、get中的参数会显得非常麻烦。lombok快速开发,通过一些注解,获得一些方法(get、set、toString等)2.快速开始1.添加依赖<dependency> <gro原创 2021-11-07 15:04:52 · 189 阅读 · 0 评论