自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朝雨忆轻尘

不积跬步,无以至千里;不积小流,无以成江海。博客园:www.cnblogs.com/xifengxiaoma/

  • 博客(146)
  • 资源 (2)
  • 收藏
  • 关注

原创 我的博客即将同步至 OSCHINA 社区

我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:朝雨忆轻尘,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply

2020-12-05 23:32:00 438

原创 分布式事务:SpringBoot+Dubbo+Seata+Nacos 实现案例

案例源码使用SpringBoot 2.3.2 + Dubbo 2.7.6 + Mybatis 1.3.2 + Nacos 1.3.2 + Seata 1.3.0整合来实现Dubbo分布式事务管理,使用Nacos 作为 Dubbo和Seata的注册中心和配置中心,使用 MySQL 数据库和 MyBatis来操作数据库。案例说明项目包含四个模块,consumer模块依赖其他三个模块。...

2020-11-17 17:39:00 774

原创 分布式事务:Seata框架AT模式及TCC模式执行流程剖析

Seata角色术语TC - 事务协调者维护全局和分支事务的状态,驱动全局事务提交或回滚,即Seata服务端。TM - 事务管理器定义全局事务的范围:开始全局事务、提交或回滚全局事务,在事务发起的客户端。RM - 资源管理器管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚,在分支事务执行的客户端。Seata执行流程Seata...

2020-11-17 17:37:00 2596 1

原创 Spring Cloud 教程

SpringCloud系列教程:Spring Boot + Spring Cloud 构建微服务系统(一):服务注册和发现(Consul)Spring Boot + Spring Cloud 构建微服务系统(二):服务消费和负载(Ribbon)Spring Boot + Spring Cloud 构建微服务系统(三):服务消费和负载(Feign)Spring Boot ...

2019-11-17 09:48:00 426

原创 使用VMware Workstation Player虚拟机安装Linux系统

下载安装VMware Workstation Player首先下载并安装VMware Workstation Player,VMware Workstation是一款非常强大的虚拟机软件,有pro专业版和player免费版,我们个人使用免费的VMware Workstation Player就可以了,当然有条件的可以升级到专业版。下载地址:https://www.vmwa...

2019-11-06 23:04:00 2219

原创 Java并发编程:Java实现多线程的几种方式

在Java中,多线程主要的实现方式有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,而后两种是带返回值的。除此之外,通过Timer启动定时任务,或者通过像Spring Task和...

2019-09-24 23:36:00 782

原创 Java并发编程:Java中的锁和线程同步机制

锁的基础知识锁的类型锁从宏观上分类,只分为两种:悲观锁与乐观锁。乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。Java中的乐...

2019-09-24 23:35:00 527

原创 Spring Boot:使用Redis存储技术

综合概述Redis是一个开源免费的高性能key-value数据库,读取速度达110000次/s,写入速度达81000次/s。Redis支持丰富的数据类型,如Lists, Hashes, Sets 及 Ordered Sets 数据类型。Redis的所有操作都是原子性的,要么成功执行要么失败完全不执行。另外还可以通过MULTI和EXEC指令包起来支持事务。此外,Redis还具备丰富的特性,比如...

2019-07-03 10:33:45 315

原创 Spring Boot:整合Shiro权限框架

综合概述Shiro是Apache旗下的一个开源项目,它是一个非常易用的安全框架,提供了包括认证、授权、加密、会话管理等功能,与Spring Security一样属基于权限的安全框架,但是与Spring Security 相比,Shiro使用了比较简单易懂易于使用的授权方式。Shiro属于轻量级框架,相对于Spring Security简单很多,并没有security那么复杂。优势特点它...

2019-07-03 10:32:25 226

原创 Spring Boot:整合Spring Data JPA

综合概述JPA是Java Persistence API的简称,是一套Sun官方提出的Java持久化规范。其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术,它为Java开发人员提供了一种ORM工具来管理Java应用中的关系数据。 简而言之,JPA提供了使用面向对象的方式操作数据库的功能。JPA充分吸收了现有Hibernate,TopLink,JDO等ORM框架的优势,具有易于使用、...

2019-07-03 10:31:21 204

原创 Spring Boot:整合JdbcTemplate

综合概述Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具。我们可以借助JdbcTemplate来执行所有数据库操作,例如插入,更新,删除和从数据库中检索数据,并且有效避免直接使用jdbc带来的繁琐编码。JdbcTemplate主要提供以下五种类型的方法: execute方法:可以用于执行任何SQL语句...

2019-07-03 10:30:29 188

原创 Spring Boot:集成Druid数据源

综合概述数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。通过数据库连接池能明显提高对数据库操作的性能。在Java应用程序开发中,常用的连接池有DBCP、C3P0、Proxool等。Spring Boot默认提供了若干种可用的连接池,默认的...

2019-07-03 10:28:29 223

原创 Spring Boot:使用Rabbit MQ消息队列

综合概述消息队列消息队列就是一个消息的链表,可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息,对消息队列有读权限的进程则可以从消息队列中读走消息,而消息队列就是在消息的传输过程中保存消息的容器,你可以简单的把消息队列理解为类似快递柜,快递员(消息发布者)往快递柜(消息队列)投递物件(消息),接受者(消息订阅者)从快递柜(...

2019-07-02 18:49:00 366

原创 Spring Boot 教程

Spring Boot 系列教程:Spring Boot:快速入门教程Spring Boot:整合Swagger文档Spring Boot:整合MyBatis框架Spring Boot:实现MyBatis分页Spring Boot:集成Druid数据源Spring Boot:实现MyBatis动态数据源Spring Boot:实现MyBatis动态创建表Spring...

2019-07-01 19:47:00 257

原创 Spring Boot:使用Redis存储技术

综合概述Redis是一个开源免费的高性能key-value数据库,读取速度达110000次/s,写入速度达81000次/s。Redis支持丰富的数据类型,如Lists, Hashes, Sets 及 Ordered Sets 数据类型。Redis的所有操作都是原子性的,要么成功执行要么失败完全不执行。另外还可以通过MULTI和EXEC指令包起来支持事务。此外,Redis还具备丰富的特性,比如...

2019-07-01 18:52:00 234

原创 Spring Boot:使用Memcached缓存

综合概述Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached基于内存的key-value存储,用来存储小块的任意数据,这些数据可以是数据库调用、API调用或者是页面渲染的结果。通过Memcached缓存数据库查询结果,可以有效地减少数据库访问次数,进而提高动态Web应用的速度。虽然Memcached的守护进程是用C写的,但是客户端可以用任何语言来编写,并通过M...

2019-07-01 16:56:00 377

原创 Spring Boot:整合Spring Security

综合概述Spring Security 是 Spring 社区的一个顶级项目,也是 Spring Boot 官方推荐使用的安全框架。除了常规的认证(Authentication)和授权(Authorization)之外,Spring Security还提供了诸如ACLs,LDAP,JAAS,CAS等高级特性以满足复杂场景下的安全需求。另外,就目前而言,SpringSecurity和Shiro...

2019-06-29 12:17:00 619 1

原创 Spring Boot:整合Shiro权限框架

综合概述Shiro是Apache旗下的一个开源项目,它是一个非常易用的安全框架,提供了包括认证、授权、加密、会话管理等功能,与Spring Security一样属基于权限的安全框架,但是与Spring Security 相比,Shiro使用了比较简单易懂易于使用的授权方式。Shiro属于轻量级框架,相对于Spring Security简单很多,并没有security那么复杂。优势特点它...

2019-06-20 20:26:00 227

原创 Spring Boot:整合Spring Data JPA

综合概述JPA是Java Persistence API的简称,是一套Sun官方提出的Java持久化规范。其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术,它为Java开发人员提供了一种ORM工具来管理Java应用中的关系数据。 简而言之,JPA提供了使用面向对象的方式操作数据库的功能。JPA充分吸收了现有Hibernate,TopLink,JDO等ORM框架的优势,具有易于使用、...

2019-06-18 19:39:00 178

原创 Spring Boot:整合JdbcTemplate

综合概述Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具。我们可以借助JdbcTemplate来执行所有数据库操作,例如插入,更新,删除和从数据库中检索数据,并且有效避免直接使用jdbc带来的繁琐编码。JdbcTemplate主要提供以下五种类型的方法:execute方法:可以用于执行任何SQL...

2019-06-18 16:51:00 315

原创 将博客搬至CSDN

将博客搬至CSDN

2019-06-17 20:58:00 77

原创 Spring Boot:实现MyBatis动态创建表

综合概述在有些应用场景中,我们会有需要动态创建和操作表的需求。比如因为单表数据存储量太大而采取分表存储的情况,又或者是按日期生成日志表存储系统日志等等。这个时候就需要我们动态的生成和操作数据库表了。而我们都知道,以往我们使用MyBatis是需要提前生成包括Model,Mapper和XML映射文件的,显然因为动态生成和操作表的需求一开始表都是不存在的,所以也就不能直接通过MyBatis连接数据库...

2019-06-17 19:22:00 4073 1

原创 Spring Boot:实现MyBatis动态数据源

综合概述在很多具体应用场景中,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库。又比如业务A要访问A数据库,业务B要访问B数据库等,都可以使用动态数据源方案进行解决。接下来,我们就来讲解如何实现动态数据源,以及在过程中剖析动态数据源背后的实现原理。实现案例本教程案例基于 Spring Boot + Mybatis + MySQL 实现。...

2019-06-17 16:23:00 380

原创 Spring Boot:集成Druid数据源

综合概述数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。通过数据库连接池能明显提高对数据库操作的性能。在Java应用程序开发中,常用的连接池有DBCP、C3P0、Proxool等。Spring Boot默认提供了若干种可用的连接池,默认的...

2019-06-15 18:46:00 562

原创 Spring Boot:实现MyBatis分页

综合概述想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍的时间写 count 和 select,幸好我们有pagehelper 分页插件,pagehelper 是一个强大实用的 MyBatis 分页插件,可以帮助我们快速的实现MyBatis分页功能,而...

2019-06-15 16:19:00 392

原创 Spring Boot:整合MyBatis框架

综合概述MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis是一款半ORM框架,相...

2019-06-14 19:04:00 142

原创 Spring Boot:快速入门教程

什么是Spring Boot?Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简而言之,Spring Boot通过提供默认配置的方式整合了所有的框架,让我们可以更加简单、快速、方便地构建应用程序。为什么要用Spring Boot?Sprin...

2019-06-13 20:12:00 144

原创 新书上线:《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》,欢迎大家买回去垫椅子垫桌脚...

新书上线大家好,笔者的新书《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》已上线,此书内容充实、材质优良,乃家中必备垫桌脚垫菜盘之良器,欢迎大家无情购买使用,欢迎大家共同学习交流,欢迎大家提出改进意见。内容简介:本书从项目实践出发,手把手、心贴心地带领读者从零开始,一步一步地开发出功能相对完整的权限管理系统,从而深入掌...

2019-06-05 10:30:00 7895 6

原创 Android开发笔记:Android开发环境搭建

基于Eclipse开发1. 安装JDK首先进入JDK下载页面,选择需要的版本下载安装。JDK 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html比如我这里选择下载最新的版本 12.0.1,选择系统版本,我这里是Windows,下载之后一路安装即可。2. 配置JAVA环境变量...

2019-05-08 17:13:00 243

原创 Java第三方支付接入案例(支付宝)

开源项目链接Kitty 开源权限管理系统项目地址:https://gitee.com/liuge1988/kitty演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:admin注册沙箱账号到蚂蚁金服注册开发者账号,注册地址:https://open.alipay.com,用你的支付宝账号扫码登录,完善个人信息,选择服务类型...

2018-12-14 15:59:00 885

原创 Spring Security Oauth2 单点登录案例实现和执行流程剖析

在线演示演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:adminSpring Security Oauth2OAuth是一个关于授权的开放网络标准,在全世界得到的广泛的应用,目前是2.0的版本。OAuth2在“客户端”与“服务提供商”之间,设置了一个授权层(authorization layer)。“客户端”不能直接登录“服务提供...

2018-12-07 21:00:00 929

原创 Spring Security 案例实现和执行流程剖析

在线演示演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:adminSpring SecuritySpring Security 是 Spring 社区的一个顶级项目,也是 Spring Boot 官方推荐使用的安全框架。除了常规的认证(Authentication)和授权(Authorization)之外,Spring Securi...

2018-11-28 18:10:00 565

原创 Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十五):Spring Security 版本...

在线演示演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:admin技术背景到目前为止,我们使用的权限认证框架是 Shiro,虽然 Shiro 也足够好用并且简单,但对于 Spring 官方主推的安全框架 Spring Security,用户群也是甚大的,所以我们这里把当前的代码切分出一个 shiro-cloud 分支,作为 Shir...

2018-11-27 19:19:00 571

原创 Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十四):权限控制(Shiro 注解)...

在线演示演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:admin技术背景当前,我们基于导航菜单的显示和操作按钮的禁用状态,实现了页面可见性和操作可用性的权限验证,或者叫访问控制。但这仅限于页面的显示和操作,我们的后台接口还是没有进行权限的验证,只要知道了后台的接口信息,就可以直接通过swagger或自行发送ajax请求成功调用后台...

2018-11-19 18:00:00 813

原创 Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十三):配置中心(Config、Bus)...

在线演示演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:admin技术背景如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多。此时,往往某一个基础服务信息变更,都会导致一系列服务的更新和重启,运维也是苦不堪言,而且还很容易出错。于是,配置中心便由此应运而生了。...

2018-11-08 16:17:00 272

原创 Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十二):链路追踪(Sleuth、Zipkin)...

在线演示演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:admin技术背景在微服务架构中,随着业务发展,系统拆分导致系统调用链路愈发复杂,一个看似简单的前端请求可能最终需要调用很多次后端服务才能完成,那么当整个请求出现问题时,我们很难得知到底是哪个服务出了问题导致的,这时就需要解决一个问题,如何快速定位服务故障点,于是,分布式系统调...

2018-11-07 19:25:00 381

原创 Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十一):服务网关(Zuul)...

在线演示演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:admin技术背景前面我们通过Ribbon或Feign实现了微服务之间的调用和负载均衡,那我们的各种微服务又要如何提供给外部应用调用呢。当然,因为是REST API接口,外部客户端直接调用各个微服务是没有问题的,但出于种种原因,这并不是一个好的选择。让客户端直接与各个微...

2018-11-07 12:59:00 472

原创 Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十):服务熔断(Hystrix、Turbine)...

在线演示演示地址:http://139.196.87.48:9002/kitty用户名:admin 密码:admin雪崩效应在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将这种不可用逐渐放大的过程。...

2018-11-06 19:01:00 405

原创 Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十九):服务消费(Ribbon、Feign)...

技术背景上一篇教程中,我们利用Consul注册中心,实现了服务的注册和发现功能,这一篇我们来聊聊服务的调用。单体应用中,代码可以直接依赖,在代码中直接调用即可,但在微服务架构是分布式架构,服务都运行在各自的进程之中,甚至部署在不同的主机和不同的地区。这个时候就需要相关的远程调用技术了。Spring Cloud体系里应用比较广泛的服务调用方式有两种:1. 使用RestTemplate ...

2018-11-05 18:28:00 151

原创 Spring Boot + Mybatis 实现动态数据源

动态数据源在很多具体应用场景的时候,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库。又比如业务A要访问A数据库,业务B要访问B数据库等,都可以使用动态数据源方案进行解决。接下来,我们就来讲解如何实现动态数据源,以及在过程中剖析动态数据源背后的实现原理。实现案例本教程案例基于 Spring Boot + Mybatis + MySQL 实...

2018-11-01 18:13:00 216

easy-orm 基于MyBatis动态ORM实现的通用增删改查框架

不用写任何代码,就可以对表完成增删改查; 一套API支持对所有表的增删改查CRUD操作; 支持MySQL、Oracle数据库,简单配置完成切换; 基于Spring Boot + Mybatis实现的通用增删改查服务API; 该模块提供了通用的数据库DDL操作接口和通用的业务数据表CRUD操作。

2021-06-10

xxl-job oracle 适配版本

基于最新 xxl-job 2.3.0 版本编写的 oracle 数据库适配版本

2021-06-10

空空如也

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

TA关注的人

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