- 博客(85)
- 收藏
- 关注
原创 JWT(JSON Web Token)源码分析
JWT(JSON Web Token)是一种用于在各方之间传递JSON格式信息的紧凑、URL安全的令牌(Token)。JWT的主要作用是验证用户身份或权限。Header(头部):标识令牌的类型和加密算法。Payload(载荷):包含了实际的身份信息及其他数据。Signature(签名):使用头部和载荷生成的签名,用于验证数据完整性和来源的可靠性。
2025-04-28 17:21:43
898
原创 Spring Security源码解析
默认是 InMemoryUserDetailsManager@Service@Override用自定义的 UserDetailsService 时 需设置加密方式@Bean也可通过在 config 中配置对应的实现类@Override//配置对应的权限相关对象默认是 DaoAuthenticationProvider@Component@Autowired@Override// 根据用户名获取用户信息。
2025-04-28 17:20:59
1087
原创 spring-cloud 源码解析-Ribbon
1、只有在 RestTemplate 中加上 @LoadBalanced Ribbon才会生效2、消费服务会在调用生产服务时,创建 PingTask 任务,用来ping可用的 生产服务信息3、会创建定时任务去执行 updateListOfServers(),更新服务集合消费服务在使用 RestTemplate (加上了@LoadBalanced)调用 生产服务(集群)时的。
2025-04-03 11:21:06
689
原创 spring-cloud 源码解析
spring-cloud 源码解析-Eurekaspring-cloud 源码解析-Ribbonspring-cloud 源码解析-Feign(OpenFeign)spring-cloud 源码解析-hystrix参考文档:版本说明版本说明一篇文章搞懂 Spring Cloud 是什么SpringCloud的使用以及五大核心组件手把手教你搭建SpringCloud项目史上最简单的 SpringCloud 教程 | 终章wangbiao007Spring Cloud Ribbon源码分析—负载
2025-04-03 11:20:43
645
原创 springboot-源码解析
从官网(Spring Boot)下载spring-boot项目 选择版本2.5.6SpringApplication run方法primarySource 启动类1、new SpringApplication(primarySources)1.1 WebApplicationType.deduceFromClasspath();设置WebApplicationType 默认会返回 WebApplicationType.SERVLET读取系统中所有名称为 META-INF/spring.fa
2025-02-10 11:41:00
999
原创 事务(Transaction)源码分析
加载时, 执行到 InfrastructureAdvisorAutoProxyCreator 中的 postProcessAfterInitialization(即 AbstractAutoProxyCreator 中的 postProcessAfterInitialization)** DataSourceTransactionManager 中的 doGetTransaction **//通过循环 来调用拦截器。** DataSourceTransactionManager 中的 doBegin **
2025-02-10 11:22:09
590
原创 mybatis源码分析
内容其实很简单,获取了result节点的property,column,javaType,jdbcType,select,resultMap,notNullColumn,columnPrefix,typeHandler,resultSet,foreignColumn,fetchType这些属性,这些属性不一定都是必填的,每个参数的具体功能这里就不写了。这里的逻辑也是一样,只不过变成了从方法的注解中获取动态sql,对开发者来说,这只是两种不同的配置动态sql的方式。
2025-02-10 11:21:26
736
转载 微信支付根据Transaction_id查询订单信息
@RequestMapping("/getPayResult") public String getPayResult() { String orderInfo = generateOrderInfo(); QueryOrderResponseExt ext = null; try { ext = (QueryOrderResponseExt) WechatConnection.connect("https://api.mc.
2021-04-19 16:07:12
2278
原创 redis主从+哨兵
主从准备两台服务器部署redis 192.168.222.102(主) 192.168.222.103 (从)分别安装redis在192.168.222.103这台的redis.conf配置文件中添加 slaveof 192.168.222.102 6379分别启动主从redis主服务器执行 info replication插入数据set aaa bbb 成功 从服务器执行 info replication插入数据set aaa bbb 提示只能查看数据主节点挂掉后手动将S
2021-02-18 11:14:53
269
原创 springboot实现长链接转短链接
自己编写长链接转短链接原理:将长链接在后台通过转换的方式转成所需的短链接(域名+(项目名)+唯一标识)长链接转成短链接/** * 短链接工具类 */@Componentpublic class ShortUrlUtils { public static final String SHORT_URL = "shortUrl"; //用户信息 @Autowired private RedisClient redisClient; /** * 根据连接获
2021-02-03 11:21:41
1432
转载 java 合并mp3
参考文档:http://www.zhuhongliang.com/archives/670MP3合并的时候如果文件的采样率,比特率,通道不一致直接合并的话,会导致合并后的mp3播放不出来,或者播放的时候时间不断变化。如果将文件转换成相同的采样率,比特率,通道合并的话,合并后的文件的大小和单个文件加起来的大小不一致,并且合并后的mp3的声音会发生改变。暂时没有找到可以解决的方式引入jar包<dependency> <groupId>it.sauronsoftware<
2020-06-30 16:29:07
1465
1
转载 mysql查询数据库和每个表所占空间大小
-- 查询单个数据库里面各个表所占磁盘空间大小包括其索引的大小,SQL语句如下:select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,10), 'MB') as data_size, concat(truncate(sum(data_length), 0), 'B'),concat(truncate(sum(index_...
2020-04-27 14:55:11
274
转载 springcloud学习笔记
一、什么是springcloud,有什么作用Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。二、springcloud的基本使用1.服务的注册与发现①创建一个parent maven项目s...
2020-04-24 11:04:35
191
原创 前端跨域处理
@Configurationpublic class WebMvcConfig extends WebMvcConfigurationSupport { @Bean public SecutityInterceptor securityInterceptor() { return new SecutityInterceptor(); } @Override public v...
2020-04-24 10:14:39
184
原创 excel动态新增字段和删除数据
//获取工作薄 Workbook wb = null; if (fileType.equals("xls")) { wb = new HSSFWorkbook(is); } else if (fileType.equals("xlsx")) { wb = new XSSFWorkbook(is); } else { if (true) throw new ...
2020-04-22 11:10:47
445
转载 mysql sql语句修改字段名称,字段长度
1.修改字段的长度语法:ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型(修改后的长度);例子:ALTER TABLE attence MODIFY COLUMN id INT(20);2.修改字段的名称语法:alter table <表名> change <字段名> <字段新名称> <字段的类型>;...
2020-04-22 10:45:26
5791
转载 Java-poi导出Excel文件名有中文
SSM框架下,java项目poi插件导出Excel文件的文件名中有中文,会出现乱码首先fileName = "常量表.xls";//创建文件名fileName = URLEncoder.encode(fileName, "UTF-8");response.setHeader("Content-disposition", "attachment;filename="+fileName);...
2020-04-21 17:17:21
1978
3
转载 mysql 按照 查询条件 in 中给定的顺序排序
-----mysql 版本 5.6.29-TDDL-5.3.10-15603018select * from t_user where id in (25614515199452447,25611093660659597,25611760271094924) order by FIELD(id,25614515199452447,25611093660659597,2561176027109...
2020-04-03 10:42:04
457
转载 linux 将一个服务器上的文件或者文件夹复制到另一台服务器上
使用scp将一个Linux系统中的文件或文件夹复制到另一台Linux服务器上复制文件或文件夹(目录)命令:一、复制文件:(1)将本地文件拷贝到远程scp 文件名 用户名@计算机IP或者计算机名称:远程路径本地192.168.1.8客户端scp /root/install.* root@192.168.1.12:/usr/local/src(2)从远程将文件拷回本地scp 用户名@...
2020-03-31 16:44:31
491
转载 mvn常用命令
Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -Dar...
2020-03-27 09:18:35
468
转载 目录结构打印
一、按住shift键,右击你要生成目录的文件夹,选择“在此处打开命令窗口”,或在路径栏中输入cmd二、在命令窗口里输入命令“tree”,按回车。就会显示出目录结构。输入“tree /f”,按回车。就会显示出目录和目录下的文件结构三、如果需要将目录结构导出到文本文档,输入命令“tree >1.txt”。就会将目录结构保存到新建的“1.txt”。四、如果需要显示子文件里的文件目录,可以...
2020-03-27 09:16:01
1191
原创 springboot配置log4j
依赖,需要移除logback,其他地方有依赖logback包的地方记得移除 <!-- springboot项目依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</a...
2020-03-26 09:38:18
185
1
转载 单文件下载, 多文件下载
import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import j...
2020-03-11 17:09:48
295
转载 java生成二维码(图片下方附文字)
导入依赖包<!-- https://mvnrepository.com/artifact/com.google.zxing/core --><dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> &...
2020-03-06 09:13:47
1926
2
转载 2018-11-29T15:09:24.356762+08:00转换为日期格式
private String dateString2formatString(String s){String str="";try{SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);SimpleDateFormat sd=new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:s...
2020-02-27 08:45:47
1069
转载 maven打包- assembly
代码结构pom.xml中添加一下配置 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-...
2020-01-14 10:13:59
222
转载 spring cloud 实战项目搭建
Spring Cloud简介Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config、...
2019-11-28 17:08:20
276
转载 com.alibaba.fastjson.JSONObject操作
1、(JSONObject)JSONObject.toJSON(Java对象实例)2、JSONObject.toJSONString(Java对象实例)3、JSONObject.toJSONString();4、JSONObject.toJavaObject(JSON对象实例, Java对象.class);5、JSONObject.parseObject(JSON字符串)6、JSONOb...
2019-11-15 10:33:41
447
转载 将Map转换为List
Map<String, String> map = new HashMap<>();// Convert all Map keys to a ListList result = new ArrayList(map.keySet());// Convert all Map values to a ListList result2 = new ArrayList(map...
2019-11-15 10:19:12
1179
原创 tomcat启动项目.sh
restart.sh#!/bin/bashif [ "$1" != "" ] && [ "$1" != "-l" ]; then echo "parameter is error, Usage: $0 or $0 -l" exit 1fi#记忆当前目录currpath=$PWD#获取脚本所在的目录,也就是tomcat/bin目录basepath=$(cd `d...
2019-10-25 11:10:31
294
原创 postman设置token为全局变量
// 判断是否存在 'user_id' 值tests["Body contains token"] = responseBody.has("token");if(tests["Body contains token"]){ // 将返回信息解析成对象 var responseData = JSON.parse(responseBody); tests["value_to...
2019-10-24 16:29:23
1080
1
原创 mybatis一对多配置
第一种:List<>string<resultMap id="peopleResultMap" type="People"> <id property="id" column="id" /> <result property="name" column="name" /> <col...
2019-10-21 10:38:54
194
转载 nginx启动、停止、重启、配置文件校验
原文地址:https://blog.csdn.net/u014391889/article/details/58202334nginx启动命令1、第一种方法 格式为: ngin地址 -c nginx配置文件位置a.命令 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf2、nginx停止命令(3种方法 2种...
2019-08-21 14:04:34
2654
原创 根据数据库配置获取数据库、表、字段的信息
引入相应的数据库依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency>...
2019-08-02 14:22:31
435
转载 PowerDesigner 表格导出为excel
原文地址:https://www.cnblogs.com/gaocong/p/6553080.html选中tablesctrl + shift +x 然后运行脚本'******************************************************************************Option Explicit Dim rowsNum ro...
2019-06-16 16:47:26
129
转载 阿里云发送邮件(mail)失败
原文地址:https://www.cnblogs.com/jiafuwei/p/9512400.html我们传统使用的比较简单的是 STMP 25端口收发邮件今天发现刚购买的阿里云服务器不能作为客户端通过STMP 25端口发送邮件开始在网上有说发现是JDK1.8的原因,然后自己也把JDK1.8换到了JDK1.7 还是不行,所以这里排除了JDK的原因。那么问题来了,是否25端口不能连接适用喃...
2019-06-02 15:53:00
1035
原创 springboot项目启动.sh配置,配置开机启动
xxx.sh文中. /etc/profile需要注意添加#!/bin/sh#这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=hg-zhwg-web-1.0.0.jar#启动方法start(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'` if [ "$pid" ]; th...
2019-04-22 16:16:43
3465
转载 java实现HTTP请求的三种方式
原文地址:https://www.cnblogs.com/hhhshct/p/8523697.html目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1 是 org.apache.commons.httpclient下操作远程...
2019-04-16 14:00:29
3015
6
转载 nginx服务器配置/websocket nginx 配置笔记
原文地址:https://www.cnblogs.com/piperck/p/7066286.htmlserver {listen 80;server_name xxx.com;# add_header ‘*’ ;location /u/ {# 反向代理透传客户端ipproxy_set_header X-Real-IP $remote_addr;proxy_set_heade...
2019-04-11 19:07:50
434
转载 CentOS7 yum方式安装MySQL5.7
原文地址:https://www.cnblogs.com/luohanguo/p/9045391.html在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1 下载并安装MySQL官方的 Yum Repository[root@localhost ~]# wget -i -c http:/...
2019-04-10 19:04:38
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人