自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 论 Spring+SpringBoot+Aop 以及应用场景

众所周知,spring最核心的两个功能是aop和ioc,即面向切面,控制反转。这里我们探讨一下如何使用spring aop。1.何为aop  aop全称Aspect Oriented Programming,面向切面,AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。其与设计模式完成的任务差不多,是提供另一种角度来思考程序的结构,来弥补面向对象编程的不足。  通俗点讲就是提供一个为一个业务实现提供切面注入

2021-05-25 16:46:07 275

原创 mysql 乐观锁,悲观锁,死锁简单介绍

乐观锁什么是乐观锁什么是乐观锁呢,利用数据版本号(version)机制是乐观锁最常用的一种实现方式。一般通过为数据库表增加一个数字类型的 “version” 字段,当读取数据时,将version字段的值一同读出,数据每更新一次,对此version值+1。当我们提交更新的时候,判断数据库表对应记录的当前版本信息与第一次取出来的version值进行比对,如果数据库表当前版本号与第一次取出来的version值相等,则予以更新,否则认为是过期数据,返回更新失败。举个栗子????://step1: 查询出商品

2021-06-15 16:38:48 479

原创 Jenkins的入门以及安装的软件

Jenkins的应用场景1、 一个自动构建过程, 从检出代码、 编译构建、 运行测试、 结果记录、 测试统计等都是自动完成的, 无需人工干预。2、一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库,一般使用SVN或Git。3、一个持续集成服务器, Jenkins 就是一个配置简单和使用方便的持续集成服务器。使用Jenkins的好处1、降低风险,由于持续集成不断去构建,编译和测试,可以很早期发现问题,所以修复的代价就少;2、对系统健康持续检查,减少发布风险带来的问

2021-06-11 10:34:43 566

原创 SpringBoot系列 - 使用消息队列RabbitMQ

RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即Advanced Message Queuing Protocol, 高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间, 提高了系统的吞吐量。本篇将详细介绍RabbitM

2021-05-31 10:13:48 290

原创 SpringBoot系列 - 集成Cache缓存

内存的速度远远大于硬盘的速度,当我们需要重复获取相同的数据的时候,一次又一次的请求数据库或远程服务, 导致大量时间都消耗在数据库查询或远程方法调用上面,性能下降,这时候就需要使用到缓存技术了。本文介绍SpringBoot 如何使用redis做缓存,如何对redis缓存进行定制化配置(如key的有效期)以及初始化redis做缓存。 使用具体的代码介绍了@Cacheable,@CacheEvict,@CachePut,@CacheConfig等注解及其属性的用法。Spring缓存支持Spring定义了or

2021-05-29 20:58:51 372

原创 SpringBoot系列 - 声明式事务

所有数据访问技术都有事务机制,这些技术提供了API来开启事务、提交事务完成数据操作,或者在发生错误的时候回滚数据。Spring采用统一的机制来处理不同的数据访问技术的事务, Spring的事务提供一个PlatformTransactionManager的接口,不同的数据访问技术使用不同的接口实现。Data Tech 实现JDBC DataSourceTransactionManagerJPA JPATransactionManagerHibernate HibernateTransactionMa

2021-05-29 20:14:42 480

原创 SpringBoot系列 - 异步线程池

在项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行, 我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async。Spring异步线程池的接口类,其实质是java.util.concurrent.Executor。Spring 已经实现的异常线程池:SimpleAsyncTaskExecutor:不是真的线程池,这个类不重用线程,每次调用都会创建一个新的线程。SyncTaskExecutor:这个类没有实现异步调用,只是一个

2021-05-29 19:25:32 559

原创 SpringBoot系列 - 多数据源配置

项目中经常会出现需要同时连接两个数据源的情况,这里还是演示基于MyBatis来配置两个数据源,并演示如何切换不同的数据源。网上的一些例子都写的有点冗余,这里我通过自定义注解+AOP的方式,来简化这种数据源的切换操作。maven依赖<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEnco

2021-05-29 18:41:59 127

原创 SpringBoot系列 - 集成MongoDB

MongoDB是一个高性能、开源、无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。 适合对大量或者无固定格式的数据进行存储,比如:日志、缓存等。对事物支持较弱,不适用复杂的多文档(多表)的级联查询。MongoDB的适用场景:在应用服务器的日志记录存储一些监控数据应用不需要事务及复杂 join 支持应用需要2000-3000以上的读写QPS应用需要TB甚至 PB 级别数据存储应用发展迅速,需要能快速水平扩展应用要求存储的数据不丢失应用需要99.999%高可用应用需要大量的地理

2021-05-29 17:57:04 220

原创 SpringBoot系列 - 集成WebSocket实时通信

WebSocket是 HTML5 开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。 WebSocket 通信协议于2011年被IETF定为标准RFC 6455,WebSocketAPI 被W3C定为标准。 在WebSocket API 中,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。 两者之间就直接可以数据互相传送。注意特点:为浏览器和服务端提供了双工异步通信的功能,即服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向

2021-05-29 17:14:50 387

原创 spring boot 集成Spring Security以及代码演示

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

2021-05-28 15:55:23 73

原创 springBoot 集成Shiro基础概念和使用场景,以及代码演示

一、概述Shiro是Apache旗下的一个开源项目,它是一个非常易用的安全框架,提供了包括认证、授权、加密、会话管理等功能,与Spring Security一样属基于权限的安全框架,但是与Spring Security 相比,Shiro使用了比较简单易懂易于使用的授权方式。Shiro属于轻量级框架,相对于Spring Security简单很多,并没有security那么复杂。二、优势特点它是一个功能强大、灵活的、优秀的、开源的安全框架。它可以胜任身份验证、授权、企业会话管理和加密等工作。它易

2021-05-28 14:44:49 145

原创 SpringBoot集成JWT实现token验证以及代码演示

一、JWT的主要应用场景身份认证在这种场景下,一旦用户完成了登陆,在接下来的每个请求中包含JWT,可以用来验证用户身份以及对路由,服务和资源的访问权限进行验证。由于它的开销非常小,可以轻松的在不同域名的系统中传递,所有目前在单点登录(SSO)中比较广泛的使用了该技术。 信息交换在通信的双方之间使用JWT对数据进行编码是一种非常安全的方式,由于它的信息是经过签名的,可以确保发送者发送的信息是没有经过伪造的。优点1.简洁(Compact): 可以通过URL,POST参数或者在HTTP header发

2021-05-28 11:15:12 1237

原创 SpringBoot 集成 Redis代码演示

一、Redis的代码演示(String)(1)通用配置import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.context.annotation.Bean;impo

2021-05-28 10:06:56 90

原创 SpringBoot 介绍 Redis常用的应用场景以及五大类型,Redis的缺点

目录一、Redis应用场景二、Redis的五大类型三、Redis的缺点一、Redis应用场景redis应用场景总结redis平时我们用到的地方蛮多的,下面就了解的应用场景做个总结:1、热点数据的缓存由于redis访问速度块、支持的数据类型比较丰富,所以redis很适合用来存储热点数据,另外结合expire,我们可以设置过期时间然后再进行缓存更新操作,这个功能最为常见,我们几乎所有的项目都有所运用。2、限时业务的运用redis中可以使用expire命令设置一个键的生存...

2021-05-27 13:57:38 689

原创 SpringBoot2.0 整合 QuartJob ,实现定时器实时管理

一、QuartJob简介1、一句话描述Quartz是一个完全由java编写的开源作业调度框架,形式简易,功能强大。2、核心API(1)、Scheduler代表一个 Quartz 的独立运行容器,Scheduler 将 Trigger 绑定到特定 JobDetail, 这样当 Trigger 触发时, 对应的 Job 就会被调度。(2)、Trigger描述 Job 执行的时间触发规则。主要有 SimpleTrigger 和 CronTrigger 两个子类,通过一个 TriggerKe.

2021-05-27 11:06:39 106

原创 SpringBoot 集成 Swagger

一.Swagger是什么:根据官网的介绍:Swagger Inspector:测试API和生成OpenAPI的开发工具。Swagger Inspector的建立是为了解决开发者的三个主要目标。1、执行简单的API测试2、生成OpenAPI文档3、探索新的API功能二.Swagger有几个优点以及我的理解:我的理解Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程

2021-05-26 17:48:37 129

原创 SpringBoot 集成 JavaMail ,实现异步发送邮件

一、应用场景1.电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等。但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送。本文将简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发送邮件。二、首先获取邮箱的授权码以QQ为示例:1:点击设置,点进账户,下拉找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,吧红圈的开启,然后生成授权码三..

2021-05-26 17:07:47 620

原创 SpringBoot 集成shard-jdbc中间件,实现数据分库分表

一、水平分割1、水平分库1)、概念:以字段为依据,按照一定策略,将一个库中的数据拆分到多个库中。2)、结果每个库的结构都一样;数据都不一样;所有库的并集是全量数据;2、水平分表1)、概念以字段为依据,按照一定策略,将一个表中的数据拆分到多个表中。2)、结果每个表的结构都一样;数据都不一样;所有表的并集是全量数据;二、Shard-jdbc 中间件1、架构图2、特点1)、Sharding-JDBC直接封装JDBC API,旧代码迁移成本几乎为零。2)、适用于任何基于Java的OR

2021-05-25 23:34:37 559

空空如也

空空如也

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

TA关注的人

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