自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Vinjcent

There will be times in life when you need to stand up for yourself.

  • 博客(124)
  • 收藏
  • 关注

转载 linux常用命令(50个)

linux常用命令(50个)

2022-11-14 11:48:36 6329

原创 Redis(十三)【集群基础搭建】

的节点认为当前节点挂掉,那么当前节点就是挂掉了,所以搭建 redis 集群时建议。判断集群中的一个节点是否可用,是集群中的所用主节点选举过程,如果。目录,根据配置文件分别启动。文件夹,并在该文件夹创建。目录下,修改以下内容。......

2022-09-01 15:24:17 637

原创 SkyWalking 微服务链路追踪

对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题:Skywalking 是一个国产开源框架,2015年由吴晟开源,2017年加入 Apache 孵化器。Skywalking 是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。它是一款优秀的 APM(Application Performance Management)工具,包括了分布式追踪、性能指标分析、应用和服务以来分析等官网:https://skywalkin

2022-06-04 13:16:26 1526

原创 SpringCloud Alibaba【Nacos集群搭建(Windows+Linux)&Ribbon负载均衡】

目录SpringCloud Alibaba1. Alibaba微服务组件Nacos注册中心(Eureka服务注册于发现)1.1 什么是Nacos1.2 服务与注册中心1.3 使用nacos服务与注册,通过应用名访问1.4 有关 Nacos Discovery Starter 配置的更多信息2. Nacos集群部署(eureka1、eureka2,eureka3)2.1 在Linux虚拟机中配置Nacos2.2 Nacos自带的微服务负载均衡器Ribbon2.2.1 Ribbon负载均衡策略2.2.2 修改默

2022-05-23 23:11:26 2335 2

原创 Java特性之设计模式【外观模式】

提供一个简化的接口,封装了系统的复杂性。外观模式的客户端通过与外观对象交互,而无需直接与系统的各个组件打交道。

2024-04-09 22:38:49 483

原创 Java特性之设计模式【装饰器模式】

定义了组合中所有对象的通用接口,可以是抽象类或接口。它声明了用于访问和管理子组件的方法,包括添加、删除、获取子组件等。

2024-03-21 22:22:34 878

原创 Java特性之设计模式【组合模式】

定义了组合中所有对象的通用接口,可以是抽象类或接口。它声明了用于访问和管理子组件的方法,包括添加、删除、获取子组件等。

2024-03-13 22:58:01 789

原创 Java特性之设计模式【过滤器模式】

定义了过滤器的基本方法,具体的实现还要具体过滤器角色去参与,在实际应用中可以扩展该接口以适应不同的过滤条件。

2024-03-07 22:09:52 1141

原创 Java特性之设计模式【命令模式】

定义了执行操作的接口,通常包含一个execute方法,用于调用具体的操作。

2024-02-28 22:24:26 930

原创 Java特性之设计模式【建造者模式】

我们假设一个快餐店的商业案例,其中,一个典型的套餐可以是一个汉堡(Burger)和一杯冷饮(Cold drink)。汉堡(Burger)可以是素食汉堡(Veg Burger)或鸡肉汉堡(Chicken Burger),它们是包在纸盒中。冷饮(Cold drink)可以是可口可乐(coke)或百事可乐(pepsi),它们是装在瓶子中我们将创建一个表示食物条目(比如汉堡和冷饮)的Item接口和实现Item接口的实体类,以及一个表示食物包装的Packing接口和实现Packing。

2023-09-11 21:11:54 700 1

原创 Java特性之设计模式【抽象工厂模式】

声明了一组用于创建产品对象的方法,每个方法对应一种产品类型。抽象工厂可以是接口或抽象类。定义了一组产品对象的共同接口或抽象类,描述了产品对象的公共方法。

2023-09-03 21:49:12 882

原创 Spring学习笔记(二)【CGLIB浅拷贝BeanCopier的使用和详解】

常用的bean拷贝工具类当中,主要有Apache提供的beanUtils、Spring提供的beanUtils、Cglib提供的beanCopier,性能上分析如下表所示

2023-04-10 10:44:02 4088 1

原创 Redis(十四)【Redisson分布式锁基础介绍】

什么是 RedissonRedisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。Redisson 的宗旨是促进使用者对 Redis 的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。Redisson 和 Jedis、Lettuce区别。

2023-03-21 17:33:43 907

原创 Java特性之设计模式【工厂模式】

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式

2023-02-19 17:47:25 607

原创 Java特性之设计模式【策略模式】

在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式

2023-02-19 13:42:52 7836 3

原创 Java特性之设计模式【桥接模式】

桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦

2023-02-12 17:55:30 667

原创 Java特性之设计模式【观察者模式】

观察者模式是一种对象行为模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。在观察者模式中,主体是通知的发布者,它发出通知时并不需要知道谁是它的观察者,可以有任意数目的观察者订阅并接收通知。观察者模式不仅被广泛应用于软件界面元素之间的交互,在业务对象之间的交互、权限管理等方面也有广泛的应用

2023-02-06 21:36:06 457

原创 Spring学习笔记(一)【BeanUtils.copyProperties方法】

简单地说,拷贝就是将一个类中的属性拷贝到另一个中,对于BeanUtils.copyProperties来说,你必须保证属性名和类型是相同的,因为它是根据get和set方法来赋值的1.1、浅拷贝浅拷贝对于基本数据类型就是直接进行值传递,在内存的另一个空间内存放,修改这个值不会影响到拷贝源的值浅拷贝对于引用数据类型就是进行的是地址传递,并没有对该对象重新开辟一个内存空间进行存放,所以对于引用数据类型的浅拷贝就相当于两个引用指向了同一个内存地址。

2023-01-29 17:06:00 7550 2

原创 SpringSecurity(十三)【授权】

在前面的案例中,我们配置 URL 拦截规则和请求 URL 所需要的权限都是通过代码来配置的,这样就比较固定。如果想要调整访问某一个 URL 所需要的权限,就需要修改代码动态管理权限规则就是我们将 URL 拦截规则和访问 URL 所需要的权限都保存在数据库中,这样,在不修改源代码的情况下,只需要修改数据库中的数据即可对权限进行调整用户角色菜单库表设计。

2023-01-14 19:27:06 1302

原创 SpringSecurity(十二)【异常处理】

相比于认证异常,权限异常类就要少了很多,默认提供的权限异常如下。Spring Security 中异常主要分为两大类。其中认证所涉及异常类型比较多,默认提供的异常类型如下。

2023-01-14 18:01:48 176

原创 SpringSecurity(十一)【跨域】

跨域问题实际应用开发中的一个非常常见的需求,在 Spring 框架中对于跨域问题的处理方案有好几种,引入了 Spring Security 之后,跨域问题的处理方案又增加了。字段中的值,发现该值包含当前页面所在域,就知道这个域是被允许的,因此就不再对前端的跨域请求进行限制。请求,这是一个很大的缺陷,而 CORS 则支持多种 HTTP 请求方法,也是目前主流的跨域解决方案。方法配置跨域,统统失效,通过 CorsFilter 配置的跨域,有没有失效则要看过滤器的优先级。由于非简单请求首先发送一个。

2023-01-08 16:50:24 733

原创 MongoDB(二)【核心概念(库、集合、文档)】

mongodb 中的库就类似于传统关系型数据库中库的概念,用来通过不同库隔离不同应用数据。mongodb 中可以建立多个数据库。每一个库都有自己的集合和权限,不同的数据库也放置在不同的文件中。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。集合存在于数据库中,一个库可以创建多个集合。每个集合没有固定的结构,这意味着你可以对集合插入不同格式和类型的数据,但通常情况下我们插入的集合数据都会有一定的关联性。

2023-01-01 20:04:22 561

原创 SpringSecurity(十)【CSRF 漏洞保护】

具体的操作方式就是在每一个 HTTP 请求中,除了默认自动携带的 Cookie 参数之外,再提供一个安全的、随机生成的字符串,我们称之为 CSRF 令牌。可以发现,当用户在8080正常认证身份之后,假如另外一台服务知道8080服务的转账接口,那么就会根据这个接口去操作用户的信息,这回给我们用户带来数据泄露的问题,因为都是在当前网站的 Cookie 信息识别用户。获取服务端令牌方式如下。说明:模拟场景,用户A给用户B转账,在用户A未注销之前,有人通过用户A已经认证的信息,对其进行转账给用户C的操作。

2022-12-25 18:18:25 1423

原创 Linux操作系统CentOS7安装mysql5.7.x

Linux操作系统CentOS7安装mysql5.7.x。

2022-12-17 17:19:09 791

原创 MongoDB(一)【概念介绍&安装】

简介MongoDB是一个。由C++语言编写。旨在MongoDB是一个之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,2009年2月,MongoDB数据库首次在数据领域亮相,打破了关系型数据库一统天下的局面2010年8月,MongoDB 1.6 发布。这个版本最大的一个功能就是Sharding,自动分片。

2022-12-11 19:20:21 479

原创 SpringSecurity(九)【会话管理】

当浏览器调用登录接口登录成功之后,服务端会和浏览器之间创建一个会话(Session),浏览器在每次发送请求时都会携带一个 SessionId,服务端则根据这个 SessionId 来判断用户身份。当浏览器关闭之后,服务端的 Session 并不会自动销毁,需要开发者手动在服务端调用 Session 销毁方法,或者等 Session 过期时间到了自动销毁。在 Spring Security 中,与 HttpSession 相关的功能由 SessionManagementFilter 和 SessionAuth

2022-12-04 11:07:40 682

原创 SpringBoot实现多数据源(六)【dynamic-datasource 多数据源组件】

SpringBoot实现多数据源---dynamic-datasource 多数据源组件

2022-11-27 21:05:48 2356

原创 SpringBoot实现多数据源(五)【多数据源事务控制】

在多数据源下,由于涉及到数据库的多个读写。一旦发生异常可能会导致数据不一致的情况,在这种情况希望使用事务进行回退。但是 Spring 的声明式事务在一次请求线程中只能使用一个数据源进行控制。一个方法开启2个事务。修改Service层。

2022-11-27 21:03:41 5550

原创 SpringBoot实现多数据源(四)【集成多个 Mybatis 框架】

SpringBoot实现多数据源,集成多个 Mybatis 框架

2022-11-27 21:01:41 1505 1

原创 SpringBoot实现多数据源(三)【AOP + 自定义注解】

通过AOP+自定义注解切换多数据源

2022-11-27 20:59:45 680

原创 SpringBoot实现多数据源(二)【Mybatis插件】

通过Mybatis插件切换数据源

2022-11-27 20:57:45 625

原创 SpringBoot实现多数据源(一)【普通版切换】

在实际开发中,经常可能遇到在一个应用中可能需要访问多个数据库的情况。以下是两种典型场景数据分布在不同的数据库中,数据库拆了,应用没拆。一个公司多个子项目,各用各的数据库,设计数据共享…为解决 数据库的读性能瓶颈(读比写性能更高,写锁会影响读阻塞,从而影响读的性能)很多数据库拥有主从架构,也就是说,一台主数据库服务器,是对外提供增删改业务的生产服务;另一(多)台从数据库服务器,主要进行读的操作可以通过中间件(ShardingSphere、mycat、mysql-proxy、TDDL…),但是有一些规模较小的公

2022-11-27 20:52:16 2670

原创 Git 常用命令

【代码】Git 常用命令。

2022-11-25 19:58:15 101

原创 SpringSecurity(八)【RememberMe记住我】

RememberMe 这个功能非常常见,无论是在 QQ、邮箱…都有这个选项。提到 RememberMe,往往会有一些误解,认为 RememberMe 功能就是把 用户名/密码 用 Cookie 保存在浏览器中,下次登陆时不用再次输入 用户名/密码。这个理解显然是不对的。我们这里所说的 RememberMe 是一种服务器端的行为。传统的登录方式基于 Session 会话,一旦用户的会话超时过期,就要再次登录,这样太过于繁琐。如果有一种机制,让用户会话过期之后,还能继续保持认证状态,就会方便很多。Remembe

2022-11-17 10:07:34 1252

原创 SpringSecurity(七)【密码加密】

bcrypt 方式加密在测试类中,对我们输入的明文密码进行加密并输出// 参数是用户输入的明文 String encode = bCryptPasswordEncoder . encode("123");

2022-11-10 10:35:55 1361

原创 SpringSecurity(六)【自定义认证案例】

创建一个spring-security-03模块导入依赖配置文件编写实体类User、RoleUserRole编写mapper、service、xml文件(这里只写接口,看接口实现方法)UserMapperRoleMapper自定义 UserDetailsService 实现 UserDetailsService,作为数据源进行身份认证UserDetailsService配置类 WebMvcConfigurer、WebSecurityCon

2022-11-02 13:52:20 992

原创 SpringSecurity(五)【自定义认证数据源】

认证流程分析官方文档发起认证请求,请求中携带用户名、密码,该请求会被拦截在的方法中将请求中的用户名和密码,封装为对象,并交给进行认证认证成功,将认证信息存储到以及调用记住我信息,并回调处理认证失败,清除以及记住我中的信息,回调处理认证时的调试AuthenticationManager、ProviderManager、AuthenticationProvider 三者关系。

2022-10-26 15:27:39 796 1

原创 SpringSecurity(四)【自定义认证流程详解】

– 在项目中,如果要覆盖默认权限、授权自动配置,需要让 DefaultWebSecurityCondition 这个类失效– 添加如下配置可以实现自定义对资源权限规则设置4.2 自定义登录界面根据前面分析可知,校验用户名密码是根据 UsernamePasswordAuthenticationFilter 这个过滤器执行的,要求定义一个跳转到login.html页面的controller在 templates 中定义登陆界面【注意】当前login.html页面的文本输入框name参数以

2022-10-25 10:50:17 1157

原创 SpringSecurity(三)【默认自动配置分析】

解析 SpringSecurity 所有默认配置用来修改默认认证的数据源信息。

2022-10-24 10:48:59 1010

原创 SpringSecurity(二)【整体架构】

在 Spring Security 中,用户请求一个资源(通常是一个接口或者一个Java方法)需要的角色会被封装成一个 ConfigAttribute 对象,在 ConfigAttribute 中只有一个 getAttribute 方法,该方法返回一个 String 字符串,就是角色的名称。是分开的,无论使用什么样的认证方式。都不会影响授权,这是两个独立的存在,这种独立带来的好处之一,就是可以非常方便地整合一些外部的解决方案。在 Spring Security 的授权体系中,有两个关键接口。

2022-10-15 01:12:24 523

空空如也

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

TA关注的人

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