![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java后台功能模块
文章平均质量分 51
Happy-Sir
相互学习,共同进步!
展开
-
Oauth2.0实现token刷新功能(二)
文章目录前言直接上代码总结前言之前写过一篇“Oauth2.0实现token刷新功能”,发现大家阅读的还是特别多,那个是基于Spring Cloud实现的刷新功能,现在将它改为基于普通过滤器实现token刷新。直接上代码基本思路还是跟之前一样,过滤器拦截请求验证token,token过期后请求单点登录服务器换取新的access_token和refresh_token,将两个token放到过滤器返回体的头部。从而不影响本次请求,同时还能在本次请求的过程中做到无痕刷新token。@Override原创 2022-04-22 18:27:44 · 4323 阅读 · 0 评论 -
阿里短信服务集成
阿里短信集成,配置流程,代码实现原创 2022-03-20 19:36:24 · 751 阅读 · 0 评论 -
idea将项目打包成jar供其它项目引用
文章地址:https://www.panziye.com/java/3226.html主要参考他的打包过程,别的项目的引用,我是这样做的:1、直接放到自己创建的lib目录下2、pom中直接引用原创 2022-03-10 15:01:40 · 403 阅读 · 0 评论 -
利用html模板发送邮件
扣扣分享交流群:1125844267一、背景刚刚在测试别的项目组的项目时,突然发现人家的邮件内容怎么那么好看呢,再看看自己的,就几行字发过去了,不要说客户能不能满意,首先自己就感觉不好看,所以自己也搞一个试试。二、展示完成后的邮件内容:三、代码实现(1)前端模板(也是自己网上找的,根据自己实际情况做了修改):<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head> <m原创 2021-11-08 16:03:18 · 4918 阅读 · 0 评论 -
动态操作定时器
扣扣技术分享交流群:1125844267说明:参考自一篇博客,没有保存具体链接1、首先是一个工具类,具体对定时任务实施启动、取消和修改操作public class ScheduleUtil { private static ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler(); private static Map<String, ScheduledFuture&l原创 2021-09-27 16:13:27 · 224 阅读 · 0 评论 -
Oauth2.0实现token刷新功能
1、Oauth2.0简介Oauth2.0是一个授权协议,提供了一种解决用户资源共享问题的思路,它不是一种实现。对于java来说,我们可以利用Spring Security OAuth2来实现。Oauth2.0实现的最基本的思路:上图的名词解释:几种授权模式:授权码模式基本思路:微服务架构下的时序图:2、刷新token(1)基本思路首先我们要明白,在授权码模式下,在网关请求获取access token的时候,接口会返回一个access token和一个refresh token,我原创 2021-07-13 13:25:51 · 9970 阅读 · 1 评论 -
logback日志在项目启动后立刻清理历史日志
背景:搭了一个maven项目,只有一个main方法,然后打成一个jar包以供别的程序去启动执行。项目中配置了logback日志策略,但是在生产环境下发现日志可以正常生成,但是没有删除历史日志,设置的只记录近期30天的日志信息。思路:因为这个main方法执行完,整个进程就没有了,可能会在很短的时间内就执行完了,这和一直运行的服务还是不一样的。那么可能就是日志还没来得及清理进程就没有了。那么有没有一种配置可以让日志清理在项目刚刚运行时立马执行?查了一下是可以的,如下配置:查看源码可以看到,会原创 2021-03-03 14:34:27 · 3755 阅读 · 0 评论 -
并发获取不重复的当前时间
参考:https://blog.csdn.net/qq_36402372/article/details/83753395private static AtomicLong atomicTimeMills = new AtomicLong(0);private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");public static String getNextTime原创 2021-03-01 15:34:20 · 612 阅读 · 4 评论 -
解决双机热备定时器同时执行两次的问题(ShedLock的springboot配置及关键理解)
github源码地址:https://github.com/lukas-krecan/ShedLock简介ShedLock确保计划的任务最多同时执行一次。如果一个任务正在一个节点上执行,则它会获得一个锁,以防止从另一个节点(或线程)执行同一任务。请注意,如果一个任务已经在一个节点上执行,则在其他节点上的执行不会等待,只是将其跳过。ShedLock可以使用Mongo,JDBC数据库,Redis,Hazelcast,ZooKeeper或其他外部存储进行协调。需要注意的是,ShedLock不是分布原创 2020-07-09 16:45:24 · 1316 阅读 · 0 评论 -
制作一个可执行的jar包(非springboot,普通maven项目)
其实,制作一个可执行的jar包主要就是pom的一些配置,之后打包执行都跟springboot类似我们首先创建一个普通的maven项目,接下来看一下pom的配置<build> <!-- 最终达成jar包的名字,最好还是配置一下,简单明了,否则默认的有点儿长 --> <finalName>copy-product</finalName> <plugins> <plugin>原创 2020-06-29 16:29:09 · 1099 阅读 · 0 评论 -
java执行shell命令
因为有大量的文件需要复制,又要求时效性,所以尝试用java执行Linux复制命令。部分代码是直接网上拿过来的,具体出处忘记了,所以没法给出链接!直接上代码。。。public int copyFile(String sourceDirectory, String distributeProductPath){ //根据api,其实exec方法可以直接执行命令,但是推荐用数组。 //因为如果一些命令中包含特殊符号,命令会失效。经过测试如果直接执行复制命令, //目录可以复制过来,但原创 2020-06-29 15:58:34 · 876 阅读 · 0 评论 -
拦截器处理Token
拦截器处理Token:package cn.cnic.xiandao.commons.filter;import cn.cnic.xiandao.util.ApplicationContextProvider;import cn.cnic.xiandao.util.RedisUtil;import org.springframework.web.method.HandlerM...原创 2019-11-12 13:04:50 · 3235 阅读 · 0 评论 -
线程池的简单应用
线程池的应用:List<String> fileList = new ArrayList<>();//创建线程池ExecutorService executeService = Executors.newCachedThreadPool();//taskList为任务集合,GetProductAndFileCallable为实现了Callable的任务类...原创 2019-11-12 13:01:30 · 204 阅读 · 0 评论 -
第一次写JPA简单总结
之前从来没用过jpa,它就是一个对hibernate的一个封装,个人觉得不好用,也许是用不惯依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId><...原创 2019-11-12 12:41:17 · 232 阅读 · 0 评论 -
poi-tl实现word文档按模板下载
poi-tl是对poi很好的一个封装,用起来相对来说也更加简单,将git的地址记录一下,方便大家去看源码和文档https://github.com/Sayi/poi-tl我们的项目是前后端分离的,前端vue,后端springboot,springCloud前端:前端的话很简单,window.open("后端访问地址");请求到下载的后端方法后端:后端的话首先我们需要引入相...原创 2019-10-08 19:04:29 · 1194 阅读 · 0 评论 -
webservice客户端
最近公司的项目需要调用其它公司给的接口,采用的是webservice,所以我们需要写webservice客户端来请求他们的服务端。但是在测试的时候总是报错,搞得我很是头疼。经过一下午的折腾,看了很多博客,自己终于测试好了。现在来给大家看看(我用的是CXF)因为公司的其他同事写过webservice服务端的接口,所以看了一下他们的代码。我发现他们把CXF的lib目录下的jar包全部都放项目的li...原创 2018-07-26 22:38:42 · 894 阅读 · 0 评论