自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap底层源码详解(应该是最详细的版本了)

HashMap底层源码详解

2023-02-24 22:54:36 481

原创 使用docker配置mysql主从复制

使用docker配置mysql主从复制

2023-02-15 14:05:53 471 1

原创 ArrayList扩容机制

ArrayList扩容机制详解

2022-11-30 16:56:33 305

原创 动态规划问题总结

动态规划问题总结

2022-10-11 17:34:09 968

原创 使用微信公众号给指定微信用户发送信息

使用微信公众号给指定微信用户发送信息

2022-08-01 17:26:10 2903

原创 SpringBoot+Vue2前后端项目配置ssl证书

springboot项目配置ssl证书

2022-07-29 23:12:03 6709

原创 Nginx location 配置后路径映射问题

Nginx location 配置后路径映射问题

2022-07-10 16:44:12 1429

原创 docker运行CAdvisor+InfluxDB+Granfana

docker运行CAdvisor+InfluxDB+Granfana

2022-06-27 11:06:04 159

原创 docker运行portainer

docker运行portainer

2022-06-27 10:52:52 2212

原创 Docker使用docker-compose运行springboot项目

Docker使用docker-compose运行springboot项目

2022-06-27 10:47:15 1018

原创 Docker使用Dockerfile运行springboot项目

Docker运行springboot项目

2022-06-22 18:00:49 968

原创 Docker搭建redis集群

Docker搭建redis集群

2022-06-20 17:30:45 7204

原创 3.项目部署微信服务

由于callback回调地址并不是后端项目上线之后的接口地址,所以需要nginx进行代理callback: http://suqiqaq.cn/api/pay/callbacknginx:upstream wxcallback { server 127.0.0.1:8002; }server { listen 80; server_name suqiqaq.cn; locatio...

2022-04-22 17:26:35 1386

原创 2.扫描生成的二维码,微信进行函数的回调

回调函数: 1.首先获取请求头的时间戳和随机数 2.微信回调时,会把回调的参数body传递给该接口 3.获取平台对应的证书来核实签名 4.进行回调的报文解密 5.获取微信支付返回的信息 6.如果支付成功,保存用户订单明细 /** * 支付回调 * @param body * @param request * @return */ ...

2022-04-22 17:16:38 1744

原创 1.付款订单Api,根据传入的订单号 生成付款二维码

原因:商家证书的私钥路径不同,因为一个是linux环境一个是windows环境。在部署linux环境的时候,可能会引发加密的的java异常。这个时候需要手动配置jdk和jdk-security安全相关的环境才可以校验通过。去官网下载jdk8 无限制政策文件JDK8的下载地址:JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 Download使用xftp ,把里面的两个jar包:local_policy.ja.....

2022-04-22 11:24:18 3189 2

原创 security-微信登录认证

controller: @ApiOperation("通过openid进行微信登录") @GetMapping("wxLogin/{openid}") public Result wxLogin(@PathVariable(value = "openid",required = true) String openid) { String token = wxUserService.wxLogin(openid); if(StringUtils.

2022-04-09 17:01:21 2189

原创 代码生成器CodeGenerator

import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.gener...

2022-04-06 17:12:32 375

原创 多模块项目打包

1.将该依赖放在启动类的pom中,其它模块不要放(包括父依赖) <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>

2022-03-29 21:05:07 854 2

原创 2.1 阿里云启动zookepper报错myid file is missing

第一次启动都没有报错,第二次启动发现报错Starting zookeeper ... FAILED TO START进入日志文件发现报错myid file is missing原因:myid文件存在/tem目录中,因此/tmp文件夹是一个临时目录,里面的文件很可能过一段时间就会被删除解决:这里集群了server1和server2,所以在dataDir路径下(也就是data目录下)创建myid文件即可myid:与server1和server2对应...

2022-03-18 11:36:22 2023

原创 4.阿里云服务器搭建、并通过JAVA连接seata

引用:Spring Cloud 学习笔记(3 / 3)_巨輪的博客-CSDN博客Spring Cloud 学习笔记(1 / 3)Spring Cloud 学习笔记(2 / 3)---108_Nacos之Linux版本安装109_Nacos集群配置(上)110_Nacos集群配置(下)111_Sentinel是什么112_Sentinel下载安装运行113_Sentinel初始化监控114_Sentinel流控规则简介115_Sentinel流控-QPS直接失败116_Sentinel流控-线程数直接失败11

2022-03-16 17:02:48 1158

原创 idea连接gitee以及对远程仓库的管理

1.点击setting=>Plugins=>搜索Gitee并进行安装2.点击setting=>Version Control=>Gitee,添加账号信息(账号是邮箱)3. 点击VCS=> Git=> clone克隆一个远程仓库的项目到本地5.点击add然后commit,可以看到自己的修改点击pull最后push...

2022-03-16 10:15:57 1020

原创 3.nacos集群配置

1

2022-03-11 10:00:09 3286

原创 2.springcloud配置ssh

引用:75_Config配置总控中心搭建Spring Cloud 学习笔记(2 / 3)_KISS-CSDN博客Spring Cloud 学习笔记(1 / 3)Spring Cloud 学习笔记(3 / 3)---56_Hystrix之全局服务降级DefaultProperties57_Hystrix之通配服务降级FeignFallback58_Hystrix之服务熔断理论59_Hystrix之服务熔断案例(上)60_Hystrix之服务熔断案例(下)61_Hystrix之服务熔断总结62_Hystrix工

2022-03-08 21:02:54 2237

原创 1.SpringCloud-工程重构

引用笔记Spring Cloud 学习笔记(1 / 3)_KISS-CSDN博客Spring Cloud 学习笔记(2 / 3)Spring Cloud 学习笔记(3 / 3)---01_前言闲聊和课程说明02_零基础微服务架构理论入门03_第二季Boot和Cloud版本选型04_Cloud组件停更说明05_父工程Project空间新建06_父工程pom文件07_复习DependencyManagement和Dependencies08_支付模块构建(上)09_支付模块构建(中)10_支付模块构建(下)11

2022-03-02 11:11:18 373

原创 新建SpringCloud项目

删掉src文件小细节:dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom。如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。...

2022-03-01 19:12:09 441

原创 6.JWT令牌

当资源服务(order)和授权服务(uaa)不在一起时,资源服务使用RemoteTokenServices 远程请求授权 服务验证token,如果访问量较大将会影响系统的性能 。 //资源服务令牌解析服务 @Bean public ResourceServerTokenServices tokenService() { //使用远程服务请求授权服务器校验token,必须指定校验token 的url、client_id,client_secret

2022-03-01 16:36:37 5955

原创 5.分布式系统认证

基于token的认证方式:基于token的认证方式,服务端不用存储认证数据,易维护扩展性强, 客户端可以把token 存在任意地方,并且可以实现web和app统一认证机制。其缺点也很明显,token由于自包含信息,因此一般数据量较大,而且每次请求 都需要传递,因此比较占带宽。另外,token的签名验签操作也会给cpu带来额外的处理负担。它的优点是:1、适合统一认证的机制,客户端、一方应用、三方应用都遵循一致的认证机制。2、token认证方式对第三方应用接入更适合,因为它更开放,可使用当前

2022-02-27 20:50:40 2719

原创 4.连接数据库认证+会话+退出

前边的例子我们是将用户信息存储在内存中,实际项目中用户信息存储在数据库中。本节实现从数据库读取用户信息。根据前边对认证流程研究,只需要重新定义UserDetailService即可实现根据用户账号查询数据库。创建user_db数据库:CREATE DATABASE `user_db` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'创建t_user表CREATE TABLE `t_user` ( `id` bigint(20) NOT N

2022-02-26 14:50:34 618

原创 3.spring security授权流程

Spring Security的授权流程如下:分析授权流程:1. 拦截请求,已认证用户访问受保护的web资源将被SecurityFilterChain中的 FilterSecurityInterceptor 的子类拦截。2. 获取资源访问策略,FilterSecurityInterceptor会从 SecurityMetadataSource 的子类 DefaultFilterInvocationSecurityMetadataSource 获取要访问当前资源所需要的权限 Collection.

2022-02-26 13:45:11 3678

原创 2.PasswordEncoder

DaoAuthenticationProvider认证处理器通过UserDetailsService获取到UserDetails后,它是如何与请求 Authentication中的密码做对比呢?在这里Spring Security为了适应多种多样的加密类型,又做了抽象,DaoAuthenticationProvider通过PasswordEncoder接口的matches方法进行密码的对比,而具体的密码对比细节取决于实现:package org.springframework.security.c

2022-02-24 20:59:59 3984

原创 1.spring security认证流程

让我们仔细分析认证过程:1. 用户提交用户名、密码被SecurityFilterChain中的 UsernamePasswordAuthenticationFilter 过滤器获取到, 封装为请求Authentication,通常情况下是UsernamePasswordAuthenticationToken这个实现类。2. 然后过滤器将Authentication提交至认证管理器(AuthenticationManager)进行认证,然后交给DaoAuthenticationProvider委托..

2022-02-24 17:17:29 4780 2

原创 SpringSecurity学习

SpringSecurit简介Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某

2022-02-22 17:34:20 600

原创 SpringBoot集成Swagger

SpringBoot集成Swagger => springfox,两个jar包 Springfox-swagger2 swagger-swagger-ui 添加Maven依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.spring

2022-02-17 20:07:08 1696

原创 2.1 springboot2整合redis的基本操作

添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <gr

2022-02-17 16:44:34 684

原创 27.blog前端-发布文章

点击写文章,会跳转到该页面点击右上角的发布,会​​​​​​​弹出发布的对话框因此,我们要调用文章分类列表和文章标签列表的接口以及如果是点击文字的编辑按钮进入该页面的话,还需要通过调用文章id获取文章详情的接口还有发布文章的接口/** * 获取分类列表 */export function getAllCategorys(){ return request({ url:"/categorys", method:'GET', })

2022-02-12 17:13:42 1128

原创 26.blog前端-登录、退出登录

退出登录:BaseHeader:logout() { this.$store.dispatch("logout").then((res)=> { this.$router.push({path:"/login"}); this.$message({message:"已退出账户,请重新登录",type:"success",sho

2022-02-12 15:03:53 298

原创 25.blog前端-路由守卫

全局前置路由守卫。beforeEach()在初始化和每一次路由切换之前调用函数,控制用户信息的获取router.beforeEach((to, from, next) =>{ if(store.state.token) { //路径如果是请求的login登录页面,但是又存在token,并且有账户信息 //证明用户登陆过,不能重复登录,则跳转到首页 if(to.path ==="/login" && store.s.

2022-02-12 14:13:06 811

原创 24.blog前端-拦截器

添加请求拦截器和响应拦截器。请求拦截器:在发送请求之前判断是否有token。响应拦截器:在后端发送状态码给前端时,判断状态码为多少并发出相应的信息import {Message} from 'element-ui'// 添加请求拦截器service.interceptors.request.use(function (config){ // 在发送请求之前 判断是否有token if (store.state.token) { config.hea

2022-02-12 13:59:18 288

原创 23.blog前端-注册

功能实现:点击注册按钮,会跳转到对应的注册页面所以要先注册对应的路由(注意,应该和Home路由平级) /*注册页面*/ { path: '/register', component: r => require.ensure([], () => r(require('@/views/Register')), 'register') }注册功能实现:1.请求后端接口进行注册2.注册之后

2022-02-11 17:46:04 173

原创 22.blog前端-文章详情、评论列表

功能实现,点击文章,可以弹出文章的详情界面在ArticleItem.vue中,点击了文章详情,就会有一个事件响应 /*点击文章标题,跳转到文章详情*/ view(id) { this.$router.push({path:`/view/${id}`}) }所以要添加对应路由:/*文章详情*/ {

2022-02-10 22:32:54 423

空空如也

空空如也

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

TA关注的人

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