- 博客(51)
- 资源 (3)
- 收藏
- 关注
原创 APISIX 之 Admin API入门使用
是基于 Nginx/OpenResty + Lua 方案打造的一款动态实时高性能的云原生API 网关,提供了负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。
2024-01-09 11:27:35 1021
原创 SpringBoot整合JWT+Spring Security+Redis实现登录拦截(二)权限认证
可直接使用已有的权限检测@PreAuthorize(“hasAuthority('自定义字符串')”),hasAuthority是系统提供的,可直接使用,也可以自定义。以下为自定义,为方便直接判断admin用户,并给admin用户授予所有权限。/*** 自定义权限检测*/// 获取当前用户的所有权限// 判断当前用户的所有权限是否包含接口上定义的权限。
2023-12-25 17:36:06 1231
原创 SpringBoot整合JWT+Spring Security+Redis实现登录拦截(一)登录认证
Spring Security 是基于 Spring 的身份认证(Authentication)和用户授权(Authorization)框架,提供了一套 Web 应用安全性的完整解决方案。其中核心技术使用了 Servlet 过滤器、IOC 和 AOP 等。实际操作时经常需要实现XXXFilter来自定义的登录以及访问控制。什么是身份认证身份认证指的是用户去访问系统资源时,系统要求验证用户的身份信息,用户身份合法才访问对应资源。常见的身份认证一般要求用户提供用户名和密码。
2023-12-25 15:23:04 1413
原创 基于token与Session身份认证对比
简单来说认证就是让服务器知道你是谁?就是让服务器知道你能干什么,不能干什么?那么基于身份认证我们一般有俩种方式:Session-Cookie和JWT。
2023-12-21 16:50:29 885
原创 Springboot 集成Redis
注意commons-pool2包与spring的版本一致性,若出错尝试升级或降级commons-pool2版本。
2023-11-28 16:01:39 673
原创 mybatis-plus自动生成代码(整理版)
整理版,添加了注释模版,常用基础方法。也可直接替换成公共的或自己代码中自定义的。仅提供基础方法,可根据具体需求自行改造。仅提供基础方法,可根据具体需求自行改造。仅提供基础方法,可根据具体需求自行改造。
2023-11-21 10:14:35 1030
原创 Repository和Mapper的区别
在使用Spring框架中,我们通常会使用Repository和Mapper来访问持久化数据,它们是DAO(Data Access Object)层的重要组成部分。Repository是Spring Data提供的一种访问持久化数据的方式,它对JPA、Hibernate、MongoDB等ORM和ODM框架进行了封装,让我们可以更便捷地进行数据库操作。
2023-11-15 10:47:14 705
原创 Springboot项目返回数据统一封装
正常swagger会根据数据库表的注释显示对应的参数释义等。但当我们使用统一接口返回map时,部分注释等信息会被掩盖消失。在此提供三个java类即可满足统一封装返回接口,也可显示对应的swagger释义等。Springboot项目返回数据统一封装,支持swagger。4.controller中使用。
2023-11-14 15:09:31 325
转载 MyBatis与MyBatis-plus的区别
Mybatis Plus的宗旨是简化开发,但是它在提供方便的同时却容易造成代码层次混乱,我们可能会把大量数据逻辑写到service层甚至contoller层中,使代码难以阅读。凡事过犹不及,在使用Mybatis Plus时一定要做分析,不要将所有数据操作都交给Mybatis Plus去实现。毕竟Mybatis Plus只是Mybatis的增强工具,它并没有侵入Mybatis的原生功能,在使用Mybatis Plus的增强功能的同时,原生Mybatis的功能依然是可以正常使用的。
2023-11-14 14:58:37 192
原创 JDK各版本特性总结
诸如统一源仓库、统一垃圾收集器接口、统一即时编译器接口(JVMCI在JDK 9已经有了,这里是引入新的Graal即时编译器)等,这些都将会是对未来Java发展大有裨益的改进,但对普通用户来说JDK 10的新特性就显得乏善可陈,毕竟它只包含了12个JEP,而且其中只有本地类型推断这一个编码端可见的改进。此版本是JDK历史上最为成熟的版本。该版本带来了全新的Lambda表达式,函数式接口、Lambda 表达式、集合的流式操作、注解的更新、安全性的增强、IO\NIO 的改进、完善的全球化功能等。
2023-06-05 14:01:15 8496 4
原创 Java8(JDK1.8) 新特性介绍
这些方法可以添加到任何现有接口中,我们不需要强制在实现类中实现这些方法,因此我们可以在不破坏代码的情况下将这些默认方法添加到现有接口中。如果一个方法的参数和返回值全部是Consumer类型,那么就可以实现效果,消费一个数据的时候,首先做一个操作,然后再做一个操作,实现组合。该接口中的方法可以接收一个参数,接收的参数类型由泛型指定,对参数的操作 方式根据该接口的实现类决定,不需要返回值。2. 默认方法可以被继承,实现类可以直接调用接口默认方法,也可以重写接口默认方法。只关心抽象方法的参数列表和返回值类型。
2023-05-16 18:27:36 11228 2
原创 JDK、JRE和JVM三者的区别和联系
(一)JDKJDK,全称Java Development Kit,是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心。(二)JREJRE,全称Java Runtime Environment,是指Java的运行环境,是可以在其上运行、测试和传输应用程序的Java平台。(三)JVM。
2023-05-16 13:30:17 1526
转载 npm、 yarn 和 pnpm 的区别
pnpm 的官方文档是这样说的:因此,pnpm 本质上就是一个包管理器,这一点跟 npm/yarn 没有区别,但它作为杀手锏的两个优势在于:包安装速度极快;磁盘空间利用非常高效。它的安装也非常简单。可以有多简单?1。
2023-04-25 15:00:44 987
转载 npm、 yarn 和 pnpm 的区别
pnpm 的官方文档是这样说的:因此,pnpm 本质上就是一个包管理器,这一点跟 npm/yarn 没有区别,但它作为杀手锏的两个优势在于:包安装速度极快;磁盘空间利用非常高效。它的安装也非常简单。可以有多简单?1。
2023-04-25 14:42:27 2455
转载 npm和yarn的区别
3. yarn下载包分为本地下载和全局下载,本地下载会下载到指定的文件夹,而全局下载会下载到默认的全局包保存路径,我们一般不会使用yarn默认的全局包下载保存路径,而会自定义指定yarn全局包下载路径。4. npm下载包分为本地下载和全局下载,本地下载会下载到指定的文件夹,而全局下载会下载到默认的全局包保存路径,我们一般不会使用npm默认的全局包下载保存路径,而会自定义指定npm全局包下载路径。安装的时候,包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包。
2023-04-25 14:21:59 73
转载 覆盖element-ui默认样式的方式
以上就是本人总结的几种方式,欢迎补充修改。第一种方式适合对elementUI整体的修改。第四种方式的局限性比较大,不推荐使用。其它两种各有所长。
2023-04-24 00:12:18 615
原创 Linux下Python环境安装与部署
因为我是Python零基础,所以如何部署全靠百度,这边我把我查到的资料和安装使用过程中遇到写下来,如果有写的不对的或者有更好的方式,欢迎评论指出。一、Python环境安装网上有很多安装教程,可以自行百度安装,我参考的是这个(仅第一步安装python):Linux部署python_Xue丶的博客-CSDN博客_linux部署pythonLinux、服务器、python安装过程中午发现高版本的安装会出现很多错误,且我本地开发过程中也发现高版本的会有很多问题存在,所以本地装的版本是,与之匹配的版本是。
2022-11-04 13:16:15 2602
原创 简单的Python爬虫demo
先说一下这个常量类的作用,一开始我的设想是想参考Java项目那样可以把常量单独放到一个文件中,数据库连接单独放到一个文件中,sql语句单独放到一个文件中。这里额外上一个代码 historyData.py 这个代码是我用来抓取历史的,和主程序的区别就是 主程序是每次只抓取最新的一条数据,该程序可通过URL中的参数指定抓取一批数据。关于代码的解释都直接在代码中用注释进行了说明,但后续在部署中发现,代码中虽然是注释的部分或者打印的部分,只有存在中文或者中文字符就可能报字符编码的问题,尤其是使用。
2022-11-03 17:49:53 671
原创 前后端分离,后端参数的接收
前后端分离,后端参数的接收@RequestParamRequestParam只能用于接收请求带的paramse.g: http://localhost:8080/XXXX/selectUser?userName=admin@PathVariablePathVariable只能用于接收url路径上的参数e.g: http://localhost:8080/XXXX/selectUser/adminPathVariable一般用于get和delete请求,RequestParam一般用于post请
2020-10-13 13:43:36 1585
原创 Jenkens+GitHub 实现自动部署
1.Jenkins安装、Git安装、GitHub注册过程略过2.Jenkins相关插件安装 maven插件错误1The username you provided is not allowed to use the text-based Tomcat Manager (error 403)The username you provided is not allowed to use the text-based Tomcat Manager (error 403)1、背景及现..
2020-08-18 10:52:26 123
原创 String 和 StringBuffer、StringBuilder
详情线程安全使用场景StringString的值是不可变的,导致每次对String的操作都会生成新的String对象,不仅效率低下且浪费大量优先的内存空间,特别当内存中无引用对象多了以后,JVM 的 GC 就会开始工作,使得速度更慢线程安全操作少量的数据用StringBuffer是可变类和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量。
2017-03-14 14:18:45 210
转载 WEB会话跟踪
一、 什么叫会话跟踪 记录用户一段时间内的逻辑上相关联的不同访问请求个过程叫“会话跟踪”。通过用户在每次对服务请求时的唯一标识,可以跟踪会话。二、 会话跟踪产生的原因 我们都知道Internet通信协议可以分为有状态协议和无状态协议,而我们在WWW上进行的访问HTTP协议是一个无状态协议,这种协议无法将用户的一个请求与另一个关联,这
2017-03-14 14:13:11 349
转载 如何防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交。一、表单重复提交的常见应用场景有如下的form.jsp页面 Form表单 用户名: form
2017-03-14 13:35:52 244
转载 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名
自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信如果你的规划需要创建多个证书,那么使用私有CA的方法比较合适,因为只要给所有的客户端都安装了CA的证书,那么以该证书签名过的证书,客户端都是信任的,也就是安装一次就够了如果你直接用自签名证书,你需要给所有的客户端安装该证
2017-02-07 14:58:01 2045
原创 CAS单点登录(SSO)教程
注:本文为网上多个帖子翻阅结合亲自实验得来,并非纯原创一、教程说明前言教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤单点登录(SSO):请看百科解释猛击这里打开本教程使用的SSO服务器是Yelu大学研发的CAS(Central Authentication Server),官网:http://www.jasig.org/cas本教程环境:
2017-02-07 14:02:45 307
原创 ffmpeg视频上传功能常用的俩个工具类【1.视频转码=2.视频抓图】
我们在用ffmpeg做视频上传功能时,经常会用到视频的转码和视频抓图的俩个功能,这里贴出俩个常用的工具类代码1.ffmpeg视频转码,多数在做视频上传功能时,会将视频转为flv格式,因为flv体积小便于快速读取播放,这里以转FLV为例(attachmentContentType为视频类型,若转为其他类型只需更改该参数即可)代码逻辑这里不做的过多解释,直接上代码/** * 功能:将任意格
2017-02-06 14:29:54 1245
Springboot前后端分离,JWT+Security+Redis实现登录拦截及权限认证,包含全局异常处理以及统一返回风格
2023-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人