自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oyc的博客

oyc的博客

  • 博客(111)
  • 资源 (5)
  • 收藏
  • 关注

原创 SpringBoot+SpringSecurity+JWT实现认证和授权

一、背景:在 B/S 系统中,登录功基本都是依靠 Cookie 来实现的,用户登录成功之后主要需要客户端和服务端完成以下两项工作:(1)服务端将登录状态记录到 Session 中,或者签发Token;(2)客户端利用Cookie保存于服务端对应的 Session ID 或 Token。之后每次请求都会带上Cookie信息(包含Session ID或者Token),当服务端收到请求后,通过验证 Cookie 中的信息来判断用户是否登录 。单点登录:单点登录(Single Sign On, S.

2021-01-17 23:40:52 53522 27

原创 ShardingSphere-ShardingJdbc 数据脱敏

摘要:数据脱敏(Data Masking),又称数据漂白、数据去隐私化或数据变形。百度百科给出的解释:数据脱敏指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。数据安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。数据库安全风险包括:拖库、刷库、撞库。开发系统

2020-10-25 20:47:31 2003 1

原创 ShardingSphere-ShardingJdbc 读写分离

一、读写分离背景分库分表虽然可以优化数据库操作。但是要实现高并发,主从架构就应运而生了,数据库的主从复制架构,将数据库的写操作定位到主库中进行,主库和从库之间通过异步复制、半同步复制保持数据一致。所有的读操作都在主库的N个从库上进行。通过负载均衡使得每一次查询均匀的落在每一个从库上。一主n从,做读写分离(数据写入主库,通过mysql数据同步机制将主库数据同步到从库–>程序读取从库数据),多个从库之间可以实现负载均衡。次外,ShardingSphere-ShardingJdbc可手动强制部分读请求到

2020-10-25 17:52:48 4111 10

原创 ShardingSphere-ShardingJdbc 数据分片(分库、分表)

ShardingSphere 数据分片(分库、分表)摘要:我们实际开发中,总有几张和业务相关的大表,这里的大表是指数据量巨大。如用户表、订单表,又或者公司业务中的主表,可能很快这种表的数据就达到了百万、千万、亿级别的规模,并且增长规模一直很快。这种情况下,单表已经满足不了了存储需求了,同时,这么大的数据量,即使搭配合理的索引,数据库查询也是很慢的,这时就需要对这些大表进行分库、分表。应用需要能对sql进行解析、改...

2020-10-25 16:10:02 3517

原创 MySQL 主从同步原理与实践

MySQL 主从同步为什么要实现主从同步高并发阶段,数据库压力会非常大。然而实际上大部分的网站、 app,其实都是读多写少。针对这个情况,可以维持一个主库(数据写入),主库挂多个从库(数据读取),主库会自动把数据给同步到从库上去,一写多读,减少数据库的查询压力,从而提高并发能力。...

2020-09-27 17:19:47 1436

原创 Centos 7 MYSQL5.7 安装与卸载

Centos 7 安装与卸载MYSQL5.7一、卸载已安装的MySql1.1 rpm查看安装rpm -qa | grep -i mysql1.2rpm 卸载清除上述查找出来的MySQLrpm -e mysql57-community-release-el7-9.noarchrpm -e mysql-communi...

2019-09-22 00:18:24 566

原创 SpringBoot+SpringSecurity+mysql实现认证与授权

一、Spring Security框架1. 框架简介 官方介绍:Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实标准。 Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足...

2019-01-29 15:39:50 12755 2

原创 SpringBoot+Spring Security基于内存用户认证

一、Spring Security框架1. 框架简介        官方介绍:Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实标准。 Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足...

2019-01-29 10:24:27 3149

原创 SpringBoot +JDBC连接Mysql数据库

SpringBoot 使用JDBC连接Mysql数据库    Spring连接Mysql的方式有很多,例如JDBC,Spring JPA,Hibeirnate,Mybatis等,本文主要介绍使用最简单、最底层的JDBC方式来连接Mysql数据库,JDBC连接数据库,主要是注入JdbcTemplate,使用JdbcTemplate来操作数据库。一、在mysql中的test库中建立user表,...

2018-07-09 15:37:46 65743 23

原创 IDEA->EasyCode(mapper.xml) 字段无逗号分割问题

IDEA->EasyCode(mapper.xml) 字段无逗号分割问题_easycode allsqlcolumn 没有逗号-CSDN博客

2024-04-24 17:31:00 495 1

原创 element-ui 中的table的el-table-column 隐藏问题记录

el-table-column 使用v-show不生效,需要使用v-if。把需要隐藏的列部用一个容器包裹起来。

2022-12-15 11:29:01 1125 1

原创 springboot+vue前后的项目搭建

一、springboot项目搭建前言-使用技术springbootmybatis-plusmysql1.2 创建springboot项目1.2 集成mybatis-plus1.3 设置跨域1.1 配置类1.2 配置注解1.3 前端设置proxy二、前端项目搭建前言-使用技术2.1 vue2.2 element-ui2.3 axios2.4 router2.1 创建vue项目2.2 集成element-ui2.3 集成axios...

2022-05-04 14:14:22 1925 1

原创 docker重置mysql密码

进入容器 docker exec -it {容器ID} /bin/bash调整MySQL配置文件,设置跳过权限控制:echo "skip-grant-tables" >> /etc/mysql/conf.d/docker.cnf警告:这就意味着任何用户都能登录进来,并进行任何操作,相当不安全。退出容器 : exit重启容器:docker restart {容器ID}再次进入容器: docker exec -it {容器ID} /bin/bash登录 mysql(无需密码) : my.

2022-04-13 20:17:01 2496

原创 Docker 安装Nginx

安装nginx并挂载1.查看可用版本:docker search nginx2.拉取官方的最新版本的镜像:docker pull nginx:latest3.查看本地镜像使用以下命令来查看是否已安装了 nginx:docker images4.在主机创建挂载目录mkdir -p /home/nginx/confmkdir -p /home/nginx/htmlmkdir -p /home/nginx/logs5.创建配置文件/home/ngi...

2021-08-31 20:37:27 351

原创 Docker 基础操作指令

镜像的操作# 1. 拉取镜像到本地docker pull 镜像名称[:tag]# tomcatdocker pull daocloud.io/library/tomcat:8.5.15-jre8# 2. 查看全部本地的镜像docker images# 3. 删除本地镜像docker rmi 镜像的标识# 4. 镜像的导入导出(不规范)# 将本地的镜像导出docker save -o 导出的路径 镜像id# 加载本地的镜像文件docker load -i 镜像文件# 修改镜.

2021-08-31 12:09:46 213

原创 安装Docker

安装Docker第一步:安装工具包sudo yum install -y yum-utils第二步:设置远程仓库yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo第三步:安装sudo yum install docker-ce帮助文档docker --help第四步:启动systemctl start ...

2021-08-31 11:57:44 178

原创 SpringBoot+thymeleaf 局部刷新

html页面:<h2>5.局部刷新</h2><br><button id="btn">刷新1</button><button id="btn2">刷新2</button><div th:fragment="info" id="info"> info: <span th:text="${info}">info</span> <span>test 刷新&l

2021-03-21 18:17:45 2073 2

原创 Mybatis Mapper 中如何传递多个参数

一、DAO 层的函数public UserselectUser(String name,String account);<select id="selectUser" resultMap="ResultMap">select * from user where name = #{0} and account = #{1}</select>对应的 xm,#{0}代表接收的是 dao 层中的第一个参数,#{1}代表 dao 层中第二参数,更多参数一直往后加即可。二、使

2021-03-20 22:34:52 3954

原创 yum 阿里云源

[root@localhost home]# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak[root@localhost home]# vim /etc/yum.repos.d/CentOS-Base.repo[root@localhost home]# yum clean all[root@localhost home]# yum makecache[base]name=CentOS-6.1

2021-03-09 10:56:56 198

原创 Https 证书申请与踩坑指南

一、证书申请途径到证书代理机构购买相关证书(目前阿里云或者腾讯云也是可以购买的)使用letsencrypt 或者https://sslforfree.com 申请免费证书如果是开发测试可以使用jdk自带的keytools生成https证书:可参考 https://blog.csdn.net/u014553029/article/details/88219617二、配置tomcat配置Tomcat服务器server.xml<Connector protocol="org.apache.c

2021-03-05 10:54:13 371 1

原创 Https流程和原理

一、HTTPS简介HTTPS:http+ssl(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。如上图所示 HTTPS 相比 HTTP 多了一层 SSL/TLSSSL(Secure Socket L

2021-02-27 00:55:54 519

原创 java集合

比较ListSetMap继承接口CollectionCollection-常见实现类AbstractList(其常用子类有ArrayList、LinkedList、Vector)AbstractSet(其常用子类有HashSet、LinkedHashSet、TreeSet)HashMap、HashTable常见方法add( )、remove( )、clear( )、get( )、contains( )、size( )add( )、remove( )、cle...

2021-02-24 17:10:56 212

原创 SpringBoot + EhCache实现本地缓存

一、EhCache 介绍1.1 什么是EhCache ?EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache)

2021-02-22 17:26:25 2305 1

原创 java中的锁

一、jmm 内存模型volitale二、java中的锁在 JDK 1.5 之前共享对象的协调机制只有 synchronized 和 volatile,在 JDK 1.5 中增加了新的机制 ReentrantLock,该机制的诞生并不是为了替代 synchronized,而是在 synchronized 不适用的情况下,提供一种可以选择的高级功能。2.1 synchronized vs ReentrantLocksynchronized 属于独占式悲观锁,是通过 JVM 隐式实现的,synchron

2021-02-20 17:32:55 1734 1

原创 多线程编程

多线程编程一、线程线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程。1.1 线程创建方式(1) 集成Thread类(2) 实现Runnable接口(3) 实现Callable接口(可以通过Future接收执行结果)1.2 线程状态线程的状态在 JDK 1.5 之后以枚举的方式被定义在 Thread 的源码中,它总共包含以下

2021-02-20 11:27:34 420

原创 mysql 数据库优化

mysql 数据库优化表设计 索引 缓存 读写分离 分库分表(负载均衡)一、使用索引(防止索引失效)二、使用缓存(redis、memcached)三、读写分离(主从复制)、分库分表(负载均衡)索引检查的口诀全值匹配我最爱,最左前缀要遵守。带头大哥不能死,中间兄弟不能断。索引列上少计算,范围之后全失效。Like百分写最右,覆盖索引不写星。不等空值还有or,索引失效要少用。VAR引号不可丢,SQL高级也不难!1、全值匹配我最爱2、最佳左前缀法则如果索引了多列,要遵守此规则,指的是从索

2021-02-20 11:08:54 150

原创 SpringBoot 定时任务 实现方式

要实现定时任务,主要有以下两种方案:使用 Spring 自带的定时任务处理器 @Scheduled 注解;使用第三方框架 Quartz 。一、 @Scheduled使用 @Scheduled 非常容易,直接创建一个 Spring Boot 项目,并且添加 web 依赖 spring-boot-starter-web,项目创建成功后,添加 @EnableScheduling 注解,开启定时任务:@SpringBootApplication@EnableSchedulingpublic cla

2021-02-07 11:12:42 746 1

原创 linux服务器配置查看与调优

一、查看CPU的信息用cat打开查看cat /proc/cpuinfo 查看CPU 的详细信息 (型号, 家族, 缓存大小等)cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 查看CPU型号cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l 查看物理CPU的个数cat /proc/cpuinfo |grep “processor”|wc -l 查看逻辑CPU的个数cat /p

2021-02-07 10:52:02 213

原创 Spring Cloud Alibaba: Seata - 分布式事务解决方案

官方网站:http://seata.io/zh-cn/文档地址:http://seata.io/zh-cn/docs/overview/what-is-seata.html

2021-02-05 11:55:58 409

原创 Spring Cloud Alibaba: Nacos-集群搭建

一、安装nginx1.1 下载nginx,保存路径为:/usr/local/softwarecd /usr/local/softwarewget http://nginx.org/download/nginx-1.19.6.tar.gz1.2 解压安装包,得到解压目录tar -xzvf nginx-1.19.6.tar.gz1.3 进入解压目录cd nginx-1.19.61.4 执行命令指定安装目录./configure ­­prefix=/usr/local/nginx­1.19

2021-02-04 16:52:07 181

原创 Spring Cloud Alibaba: Nacos-配置中心

简介Nacos除了实现了服务的注册发现之外,还将配置中心功能整合在了一起。通过Nacos的配置管理功能,我们可以将整个架构体系内的所有配置都集中在Nacos中存储。这样做的好处,在以往的教程中介绍Spring Cloud Config时也有提到,主要有以下几点:分离的多环境配置,可以更灵活的管理权限,安全性更高应用程序的打包更为纯粹,以实现一次打包,多处运行的特点本文主要记录:Nacos作为配置中心的功能一、在Nacos管理平台新建配置进入Nacos的控制页面,在配置列表功能页面中,点击右上

2021-02-04 15:11:18 219

原创 Spring Cloud Alibaba:常用的服务消费方式(RestTemplate、OpenFeign)

Spring Cloud Alibaba:常用的服务消费方式(RestTemplate、OpenFeign)简介通过上一篇博客,我们已经初次尝试的使用Nacos作为服务注册中心实现服务的注册与发现。在测试服务消费过程中,我们使用的是RestTemplate组件,但是这种方式相对而言会比较复杂,每次调用服务接口都需要指定服务id,调用接口路径,处理返回内容等,对于开发人员来说非常的不友好。所以本文主要记录常用的远程服务消费方式,主要有两种,分别是RestTemplate和OpenFeign,下面就来看看他

2021-02-04 10:01:27 425

原创 Spring Cloud Alibaba:Sentinel-接口限流

Sentinel实现接口限流

2021-02-03 18:03:04 215

原创 Spring Cloud Alibaba: Nacos-服务注册与发现

前言本文主要记录nacos服务端搭建以及如何使用Nacos作为服务注册中心实现服务的注册与服务发现。一、 Nacos简介文档: https://nacos.io/zh-cn/docs/what-is-nacos.htmlNacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云

2021-02-03 17:29:22 263

原创 Spring Cloud Alibaba 简介

一、Spring Cloud Alibaba 简介文档: https://nacos.io/zh-cn/docs/what-is-nacos.htmlSpring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通

2021-02-03 17:00:35 3264 2

原创 从零快速搭建一个SpringBoot Web项目

从零快速搭建一个SpringBoot Web项目环境:IDEA+Navicat+Jdk1.8+Mysql5.7 SpringBoot+Thymeleaf+SpringData-JPA+apache-shiro目录从零快速搭建一个SpringBoot Web项目一、新建一个SpringBoot项目1.1 选择新增:File->New->Project1.2 选择Spring Initializr,指定JDK版本,直接下一步1.3填写项目相关信息,然后下一步...

2021-01-13 21:36:39 713

原创 SpringBoot + Activiti 工作流引擎(二、流程&任务操作)

1. SpringBoot + Activiti 工作流引擎(一、基本概念与环境搭建)2.SpringBoot + Activiti 工作流引擎(二、流程&任务操作)经过第一章的操作,我们已经完成了SpringBoot 与activi的整合环境搭建,本文将着重介绍如何在整合好的项目中完成流程的部署、流程启动、任务查询、任务处理、查询流程实例进度情况等内容。一、流程部署/** * 部署请假流程 */ @GetMapping("deploy") public

2021-01-10 19:10:48 24632 2

原创 ElasticSearch 搜索方式

请求地址:GET http://localhost:9200/blogindex/blog/_search一、match{ "query": { "match": { "name" : "中华人民共和国" } }}上面的查询会先对内容进行分词,分词以后所有包含这分词中的一个或多个的文档就会被搜索出来。并且根据lucene的评分机制(TF/IDF)来进行评分。二、match_phrase{ "query": { "match_phrase":

2020-12-30 16:09:11 163

原创 SpringBoot+CAS Client 实现单点登录

本文主要介绍在使用SpringBoot的开发过程中如何整合CAS Client实现单点登录的功能。准备工作(1)搭建好CAS服务端(参考:https://blog.csdn.net/u014553029/article/details/88102311)(2)准备好一个普通的SpringBoot Web项目集成一、引入CAS client依赖在pom.xml中引入CAS Client的依赖包。代码如下:<dependency> <groupId>net.unic

2020-12-23 23:40:07 2669 1

原创 SpringBoot + Activiti 工作流引擎(一、基本概念与环境搭建)

SpringBoot + Activiti一、什么是ActivitiActiviti是一个轻量级的工作流和业务流程管理(BPM)平台,面向业务人员,开发人员和系统管理员。它的核心是用于Java的超快速,坚固的BPMN 2流程引擎。它是开源的,并根据Apache许可进行分发。Activiti可以在任何Java应用程序,服务器,集群或云中运行。它与Spring完美集成,非常轻巧,基于简单的概念。我们可以通俗一点理解,Activiti工作流就是将我们日常的流程(例如:请假、报销、岗位调整等流程)规范起来,将

2020-12-13 23:05:33 12412 2

struts入门

struts快速入门

2016-12-01

Java-Web快速入门教程

Java-Web快速入门教程

2016-12-01

JSP初学者入门课件与实例第00章

2016-12-01

struts快速入门

2016-12-01

韩顺平servlet笔记(必看完整版)

2016-12-01

空空如也

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

TA关注的人

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