自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring boot集成redis

【代码】spring boot集成redis。

2024-09-26 15:31:23 584

原创 spring Boot集成七牛云

【代码】spring Boot集成七牛云。

2024-09-26 14:47:12 230

原创 maven打jar包到本地仓库

先去maven仓库找到这个包,并下载。

2024-09-26 14:36:28 263

原创 OAuth2微信扫码登录

微信扫码登录基于OAuth2协议的授权码模式,接口文档:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html流程如下:第三方应用获取access_token令牌后即可请求微信获取用户的信息,成功获取到用户的信息表示用户在第三方应用认证成功。请求获取授权码第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在 PC

2024-03-10 20:39:20 2147

原创 springboot 读取配置文件按中的配置

【代码】springboot 读取配置文件按中的配置。

2024-03-10 19:15:29 195

原创 spring boot 生成图片验证码

在认证时一般都需要输入验证码,验证码有什么用?验证码可以防止恶性攻击,比如:XSS跨站脚本攻击、CSRF跨站请求伪造攻击,一些比较复杂的图形验证码可以有效的防止恶性攻击。为了保护系统的安全在一些比较重要的操作都需要验证码。在pom文件中加入依赖<dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifac

2024-03-10 19:09:43 759

原创 Spring Security 认证

目前我们测试通过OAuth2的密码模式,用户认证会提交账号和密码,由DaoAuthenticationProvider调用UserDetailsService的loadUserByUsername()方法获取UserDetails用户信息。我们可以在loadUserByUsername()方法上作文章,将用户原来提交的账号数据改为提交json数据,json数据可以扩展不同认证方式所提交的各种参数。有了这些认证参数我们可以定义一个认证Service接口去进行各种方式的认证。定义认证Service 接口。

2024-03-10 18:13:25 732

原创 vue使用瀑布流加载图片

新建一个Water.js文件,在页面种引入。/* 设置一个固定的高度 *//* 开启垂直滚动 *//* 开启垂直滚动 */

2024-03-10 16:52:40 478

原创 spring security 基于数据库用户认证

配合前面几篇文章一起看Spring Security 认证OAuth2SpringBoot +oAuth2+JWT+Spring Security认证配置我们了解了使用Spring Security进行认证授权的过程,目前各大网站的认证方式非常丰富:账号密码认证、手机验证码认证、扫码登录等。连接用户中心数据库进行认证基于的认证流程在研究Spring Security过程中已经测试通过,到目前为止用户认证流程如下:认证所需要的用户信息存储在用户中心数据库,现在需要将认证服务连接数据库查询用户信

2024-03-06 23:52:54 982

原创 微服务中使用Gatway网关进行认证

注意:网关鉴权功能调试通过后,由于目前还没有开发认证功能,前端请求网关的URL不在白名单中间时会“没有认证”的错误,暂时在白名单中添加 全部放行配置,待认证功能开发完成再屏蔽全部放行配置,除了白名单剩下的就是需要认证的请求,网关需要验证jwt的合法性,jwt合法则说明用户身份合法,否则说明身份不合法则拒绝继续访问。除了白名单剩下的就是需要认证的请求,网关需要验证jwt的合法性,jwt合法则说明用户身份合法,否则说明身份不合法则拒绝继续访问。2、校验jwt的合法性。2、校验jwt的合法性。

2024-03-06 23:14:00 716

原创 SpringBoot +oAuth2+JWT+Spring Security认证配置

官网:https://jwt.io/这个过程就是无状态认证。令牌采用JWT格式即可解决上边的问题,用户认证通过后会得到一个JWT令牌,JWT令牌中已经包括了用户相关的信息,客户端只需要携带JWT访问资源服务,资源服务根据事先约定的算法自行完成令牌校验,无需每次都请求认证服务完成授权。拿到了jwt令牌下一步就要携带令牌去访问资源服务中的资源,项目各个微服务就是资源服务,比如:A服务,客户端申请到jwt令牌,携带jwt去B服务查询信息,此时B服务要对jwt进行校验,只有jwt合法才可以继续访问。

2024-03-05 23:31:08 999

原创 OAuth2认证流程

Spring Security支持OAuth2认证,OAuth2提供授权码模式、密码模式、简化模式、客户端模式等四种授权模式,前边举的微信扫码登录的例子就是基于授权码模式,这四种模式中授权码模式和密码模式应用较多,本实例使用Spring Security演示授权码模式、密码模式,其余两种请自行查阅相关资料。答案是否定的,服务提供商会给批准接入的客户端一个身份,用于接入时的凭据,有客户端标识和客户端秘钥,在这里配置批准接入的客户端的详细信息。

2024-03-05 22:53:02 1500

原创 java判断网络链接是否有效

【代码】java判断网络链接是否有效。

2024-03-05 16:32:55 147

原创 Spring Security 认证研究

FilterChainProxy是一个代理,真正起作用的是FilterChainProxy中SecurityFilterChain所包含的各个Filter,同时这些Filter作为Bean被Spring管理,它们是Spring Security核心,各有各的职责,但他们并不直接处理用户的认证,也不直接处理用户的授权,而是把它们交给了认证管理器(AuthenticationManager)和决策管理器(AccessDecisionManager)进行处理。)方法,设置到其中。

2024-03-03 23:51:28 654

原创 spring cloud熔断降级处理

微服务中难免存在服务之间的远程调用,比如:内容管理服务远程调用媒资服务的上传文件接口,当微服务运行不正常会导致无法正常调用微服务,此时会出现异常,如果这种异常不去处理可能导致雪崩效应。当下游服务异常触发熔断后,上游服务就不再去调用异常的微服务而是执行了降级处理逻辑,这个降级处理逻辑可以是本地一个单独的方法。两者都是为了保护系统,熔断是当下游服务异常时一种保护系统的手段,降级是熔断后上游服务处理熔断的方法。熔断降级的相同点都是为了解决微服务系统崩溃的问题,但它们是两个不同的技术手段,两者又存在联系。

2024-02-27 22:38:01 417 1

原创 Spring Cloud中可以使用Feign进行远程调用

Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign。微服务之间难免会存在远程调用,在Spring Cloud中可以使用Feign进行远程调用,其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。在启动类添加@EnableFeignClients注解。pom.xml中添加依赖。

2024-02-27 22:28:47 180

原创 java反射机制

通过反射机制获取类对象的所有属性以及方法。直接在方法中使用,并调用其方法。遍历类对象的所有属性。

2024-02-27 11:19:09 172

原创 java对象拷贝

或者使用BeanUtils.copyProperties();

2024-02-27 10:50:38 127

原创 SpringBoot中事务失效的场景

在示例代码中,事务的入口是createOrder()方法,会开启一个事务,可以成为外部事务。Spring的事务管理默认感知的异常类型是RuntimeException,当事务方法内部抛出了一个IOException时,不会被Spring捕获,因此就不会触发事务回滚,事务就失效了。上面的问题在于非事务方法中调用事务方法其中隐含了一个this.的前缀, 虽然当前方法的事务也被代理类生成了,但是因为默认关键字的原因,调用的还是原来的是没有事务的方法.由于Spring的事务是基于AOP的方式结合动态代理来实现的。

2024-02-26 15:48:04 618

原创 分布式事务-理解CAP理论

学习了CAP理论我们知道进行分布式事务控制要在C和A中作出取舍,保证一致性就不要保证可用性,保证可用性就不要保证一致,首先你确认是要CP还是AP,具体要根据应用场景进行判断。基本可用:当系统无法满足全部可用时保证核心服务可用即可,比如一个外卖系统,每到中午12点左右系统并发量很高,此时要保证下单流程涉及的服务可用,其它服务暂时不可用。在实际应用中符合AP的场景较多,其实虽然AP舍弃C一致性,实际上最终数据还是达到了一致,也就满足了最终一致性,所以业界定义了BASE理论。使用Seata框架基于AT模式实现。

2024-02-25 22:12:46 205

原创 分布式事务

现在的需求是课程发布操作后将数据写入数据库、redis、elasticsearch、MinIO四个地方,这四个地方已经不限制在一个数据库内,是由四个分散的服务去提供,与这四个服务去通信需要网络通信,而网络存在不可到达性,这种分布式系统环境下,通过与不同的服务进行网络通信去完成事务称之为分布式事务。平常我们在程序中通过spring去控制事务是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库来控制事务,此数据库只属于该应用,所以基于本应用自己的关系型数据库的事务又被称为本地事务。

2024-02-25 21:57:31 189

原创 java文件内容转字符串

【代码】java文件内容转字符串。

2024-02-23 17:36:01 248

原创 springboot从访问路径中获取IP

IPUtilimport java.net.InetAddress;import java.net.UnknownHostException;import javax.servlet.http.HttpServletRequest;import com.kiz.common.utils.StringUtils;/** * 获取IP方法 */public class IpUtils { /** * 获取客户端IP * * @param request

2024-02-23 17:24:27 413

原创 spring boot配置Redis

【代码】spring boot配置Redis。

2024-02-23 17:08:41 194

原创 java根据文件地址,下载文件

【代码】java根据文件地址,下载文件。

2024-02-22 14:20:47 350

原创 java根据上传的excel解析成对象,操作完成后返回结果excel

【代码】java根据上传的excel解析成对象,操作完成后返回结果excel。

2024-02-22 14:05:23 188

原创 java导入excel数据,使用map的方式进行映射

controller层接收文件信息,其中dataset参数为我的关联信息,实际情况自行修改。sevince层,业务代码。

2024-02-22 13:59:38 572

原创 java使用easypoi把一个实体类导出成excel模板给用户填写

【代码】java把一个实体类导出成excel模板给用户填写。

2024-02-22 13:27:07 273

原创 java将文件压缩成zip

【代码】java将文件压缩成zip。

2024-02-22 13:19:57 345

原创 java根据请求地址,保存到本地

【代码】java根据请求地址,保存到本地。

2024-02-22 13:17:56 367

原创 根据接收的Excel文件来导入多个sheet,根据索引可返回一个集合

【代码】根据接收的Excel文件来导入多个sheet,根据索引可返回一个集合。

2024-02-22 13:14:14 296

原创 java保存web页面时,页面还没有请求完成,就开始保存

使用浏览器驱动的方式进行地址访问,需要注意的是,浏览器的驱动,需要和我们本生的浏览器版本对应。

2024-02-22 13:10:28 74

原创 MultipartFile 转 File

【代码】MultipartFile 转 File。

2024-02-22 13:04:43 320

原创 RabbitMQ配置

保证消息的可靠性需要保证以上过程的可靠性,本项目使用RabbitMQ可以通过如下方面保证消息的可靠性。使用消息队列进行异步通知需要保证消息的可靠性,即生产端将消息成功通知到消费端。mq收到消息进行持久化,当mq重启即使消息没有消费完也不会丢失。重启订单服务,登录rabbitmq,查看交换机自动创建成功。需要配置交换机持久化、队列持久化、发送消息时设置持久化。在订单服务service工程编写MQ配置类,配置交换机。发送消息前使用数据库事务将消息保证到数据库表中。3、消息者收到消息进行处理。

2024-02-21 00:07:32 634

原创 XXL-JOB分布式任务调度器

文档:https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B。:xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;官网:https://www.xuxueli.com/xxl-job/

2024-02-20 22:32:24 1083

原创 java断点续传

引用百度百科:断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载未完成的部分,而没有必要从头开始上传下载,断点续传可以提高节省操作时间,提高用户体验性。http协议本身对上传文件大小没有限制,但是客户的网络环境质量、电脑硬件环境等参差不齐,如果一个大文件快上传完了网断了没有上传完成,需要客户重新上传,用户体验非常差,所以对于大文件上传的要求最基本的是断点续传。

2024-02-20 21:29:31 381

原创 Java中一个非事务方法调同类一个事务方法,事务无法控制

然后通过currentProxy去调用事务方法。通过代理对象去调用事务方法即可解决。

2024-02-20 18:43:49 225

原创 MinIO提供JAVA版本SDK的支持

地址:https://docs.min.io/docs/java-client-quickstart-guide.html。校验文件的完整性,对文件计算出md5值,比较原始文件的md5和目标文件的md5,一致则说明完整。通过查询文件查看文件是否存在minio中。

2024-02-20 17:52:53 719

原创 MinIO文件系统

Minio使用纠删码技术来保护数据,它是一种恢复丢失和损坏数据的数学算法,它将数据分块冗余的分散存储在各各节点的磁盘上,所有的可用磁盘组成一个集合,上图由8块硬盘组成一个集合,当上传一个文件时会通过纠删码算法计算对文件进行分块存储,除了将文件本身分成4个数据块,还会生成4个校验块,数据块和校验块会分散的存储在这8块硬盘上。中文:https://www.minio.org.cn/,http://docs.minio.org.cn/docs/3)因为集合是4个硬盘,大于2的硬盘损坏数据将无法恢复。

2024-02-20 17:40:24 300

原创 搭建spring cloud Gateway

配置网关的bootstrap.yaml配置文件。

2024-02-20 16:56:53 249

MinIO文件系统,软件下载

MinIO文件系统

2024-02-20

使用gogs创建Git远程仓库

安装包

2024-02-20

Excel导入导出,Java注解的方式实现

Excel导入导出,Excel导入导出,Excel导入导出

2022-04-08

空空如也

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

TA关注的人

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