自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Head First Java 学习笔记

Head First Java一、基本概念1、Java 工作方式2、java层序结构二、类与对象三、变量1、primitive 主数据类型2、引用四、方法1、方法的参数2、封装(80页)五、编写程序六、认识Java的API七、继承与多态八、接口与抽象类九、构造器与垃圾收集器十、数字局静态十一、异常处理十二、图形用户接口十三、Swing十四、序列化和文件的输入\输出十五、网络与线程十六、集合与泛型十七、jar存档文件和部署十八、远程部署RMI一、基本概念1、Java 工作方式源代码:编写源代码文件编

2021-01-21 01:11:46 790

原创 spring cloud Alibaba 完美融合异构微服务学习笔记十五

什么是异构微服务?非spring cloud微服务微服务全景架构图完美整合(1)通过spring cloud wii实现① 加依赖② 加注解③ 写配置(2)原理:对spring cloud gateway进行扩展,把异构微服务的ip、端口注册到nacos上完美调用...

2021-01-10 14:36:25 449

原创 spring cloud Alibaba 多维度微服务监控学习笔记十四

多维度微服务监控spring boog actutator:监控微服务实例各种情况,基于json字符串sentinel dashboard:监控微服务的qbs,被sentinel限流、降级的qbsspring cloud sleuth + zipkin:微服务之间的调用情况,结合zipkin让调用链更加直观...

2021-01-10 14:19:09 462

原创 spring cloud Alibaba 项目优化与改善学习笔记十三

项目优化与改善一、简单指标二、Alibaba java 代码规约(P3C)三、SonarQube 代码质量管理系统一、简单指标1、注释原则每一步主要业务流程核心方法条件分支判断前PS:idea添加代码统计工具statistic二、Alibaba java 代码规约(P3C)PS:idea搜索插件添加三、SonarQube 代码质量管理系统参考手记:手把手使用SonarQube分析、改善项目代码质量...

2021-01-09 14:10:10 211

原创 spring cloud Alibaba 调用链监控工具学习笔记十二

调用链监控工具一、调用链监控原理二、整合Sleuth场景需求:项目出现问题,如何发现并快速解决?一、调用链监控原理通过记录微服务之间的发送接受进行异常、性能判断二、整合Sleuth1、什么是sleuth?是一个spring cloud的分布式跟踪解决方案可以理解为是调用链监控的客户端,集成在每个微服务上,负责产生监控数据2、术语3、项目整合sleuth加依赖...

2021-01-02 13:29:56 380

原创 spring cloud Alibaba 配置管理nacos学习笔记十一

配置管理一、概述二、使用nacos管理配置1、环境配置2、配置属性动态刷新和回滚3、配置共享:相同应用不同环境的共享三、nacos数据持久化四、搭建高可用nacos集群一、概述为什么要实现配置管理?不同环境,不同配置配置属性动态刷新二、使用nacos管理配置1、环境配置加依赖<!-- nacos 配置管理引用 --><dependency> <groupId>org.springframework.cloud</groupId&g

2020-12-27 11:33:48 172

原创 spring cloud Alibaba 微服务认证与授权学习笔记十

微服务认证与授权一、有状态VS无状态二、微服务认证方案1、处处安全方案:2、外部无状态、内部有状态方案(实际项目中,很多企业会使用)3、网关认证授权,内部裸奔方案4、内部裸奔改进方案一、有状态VS无状态1、有状态,如单体架构2、无状态,即服务器不去记录用户的登录状态,更直观讲,即服务器不再维护session(1)对比有状态为了获取session,所有的应用都要访问session store,若此服务器挂了,所有的应用都无法正常运行,鸡蛋又放到一个篮子里,与微服务相悖session stor

2020-12-09 22:54:33 593 2

原创 spring cloud Alibaba API网关SpringcloudGateway学习笔记九

API网关SpringcloudGateway一、概述二、spring cloud gateway三、网关搭建四、核心概念五、架构六、内置路由谓词工厂详解七、自定义路由谓词工厂一、概述服务发现,让内容中心总能找到与用户中心内容中心整合ribbon,实现负载均衡使用feign,让HTTP的远程调用更加优雅使用sentinel,提升应用的可用性以及容错性使用spring消息编程模型、stream消息编程模型,实现了基于rocketMQ的通信下图为小程序直接调用微服务:认证复杂,登录需要

2020-11-28 12:44:49 454

原创 spring cloud Alibaba 消息驱动RocketMQ学习笔记八

消息驱动RocketMQ一、管理员审核分享业务实现一、管理员审核分享业务实现涉及逻辑:若分享不存在或分享处于审核状态,则抛异常;反之,进行资源审核,修改状态为PASS/REJUCT;PASS,为发布人添加积分优化:若提升用户体验,此API主要流程是审核,为发布人添加积分为附属操作,并不需要等待返回,可以把加积分操作改造为异步执行,从而提升用户体验实现异步方式:① AsyncRestTemplate② Async注解③ WebClient(Spring5.0引入,替代AsyncRestTem

2020-11-21 00:33:53 276

原创 spring cloud Alibaba 容错服务-Sentinel学习笔记七

容错服务-Sentinel一、雪崩效应二、Sentinel实现容错一、雪崩效应英文名为cascading failure,也叫级联失效,级联故障;每个微服务并不是100%可用,网络也有可能出问题,如有一个高并发的微服务系统,如下图,包含四个微服务,开始都为正常,在某个时间点,当A挂了,而此系统为高并发系统,B服务疯狂调用A服务,而A挂了,B发往A的请求就会强制等待,知道请求超时,在java程序中,一次请求往往对应一个线程,请求强制等待,线程就会强制阻塞,一直等到线程超时,才会被释放,在高并发情况下,阻塞

2020-11-09 22:31:13 418

原创 spring cloud Alibaba 声明式HTTP客户端Feign学习笔记六

声明式HTTP客户端Feign一、使用Feign实现远程HTTP调用二、feign组成三、feign配置Netflix开源的声明式HTTP客户端,Feign GitHub地址一、使用Feign实现远程HTTP调用1、集成Feign加依赖<!-- feign 声明式HTTP客户端 --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId&

2020-10-24 01:32:22 161 1

原创 spring cloud Alibaba 实现负载均衡 Ribbon学习笔记五

Ribbon实现负载均衡一、实现方式二、手写客户端侧负载均衡器三、使用Ribbon实现负载均衡四、Ribbon 组成五、Ribbon 配置一、实现方式服务器端负载均衡(单体架构)客户端侧负载均衡(内容中心相对用户中心,属于客户端,可在内容中心集群中配置负载均衡规则)二、手写客户端侧负载均衡器随机负载均衡算法三、使用Ribbon实现负载均衡1、定义:Netfix开源的客户端侧负载均衡器,即提供了负载均衡算法2、架构演进:3、整合Ribbon加依赖:不需要,spri

2020-10-20 22:39:45 843 1

原创 spring cloud Alibaba 服务发现Nacos学习笔记四

服务发现Nacos服务发现原理Nacos 下载安装将应用注册到Nacos服务发现原理1、现有架构问题:用户中心服务提供者变化,消费者无法请求,怎么办?2、定义:消费者总能找到服务提供者的机制就叫服务发现3、原理(用mysql类比)微服务启动就在服务发现组件插入一条记录,内容中心想要找到用户中心,只需要查找名字为user-center 并且状态为up的微服务(存在问题:每次查询都需要发送请求到服务发现组件,服务发现组件压力会十分大,且服务发现组件挂了,所有微服务就不能正常调用了)贴近生产服务发

2020-10-18 10:35:00 194

原创 spring cloud Alibaba 介绍学习笔记三

一、定义快速构建分布式系统的工具集sprig cloud子项目致力于提供微服务开发的一站式解决方案:包含微服务开发的必备组件;基于spring cloud,符合spring cloud标准;阿里的微服务解决方案二 版本与兼容性1、spring cloud版本命名(1)命名了解2、spring cloud生命周期3、spring boot、spring cloud、spring cloud Alibaba兼容关系PS:兼容性十分重要,可在官网自行查询4、生成环境版本选择:坚决

2020-10-15 00:34:28 131

原创 spring cloud Alibaba 微服务拆分与编写学习笔记二

spring cloud Alibaba 微服务拆分与编写学习笔记一、单体应用二、微服务三 微服务拆分四 数据库设计一、单体应用1、定义:一个归档包(例如war包)包含所有功能的应用程序,通常为单体应用。而架构单体的方法论,就是单体应用架构。2、优缺点:(1)优:架构简单开发、测试、部署方便(2)缺:复杂性高:项目大,模块边界模糊、代码质量参差不齐、人员质量参差不齐,随着功能不断变化,项目越做越混乱,最后导致项目越来越复杂,加简单功能,修改bug都会带来许多问题部署慢、部署频率低:

2020-10-14 23:29:29 351 1

原创 spring cloud Alibaba 之 spring boot 基础学习笔记一

spring cloud Alibaba 之 spring boot 基础学习笔记1、SpringBoot是什么?能做什么?2、SpringBoot必知必会(1)快速创建应用(2)应用组成分析(3)开发三板斧(4)Spring Boot Actuator:为应用提供强大的监控能力(5)配置管理(6)profile1、SpringBoot是什么?能做什么?(1)定义:快速开发的脚手架(2)作用:快速创建独立的、生产级的基于spring的应用程序,即基于spring,提升效率的框架,让编码更加简单、让配置

2020-10-12 23:59:33 940

原创 spring security OAuth开发APP认证框架

认证服务器添加配置文件,引入@Configuration @EnableAuthorizationServer注解,即可搭建认证服务器1、授权模式(1)授权码模式① /oauth/authorize 获取授权码,让用户跳过做授权的路径,需要带参数(参考OAuth2官网),作为服务提供商,需要知道三件事哪个应用请求授权,通过client_id识别(可通过yml/properties配置)security: oauth2: client: client-id: api.

2020-09-19 22:50:51 380

原创 SpringBoot 异常错误:(mybatis)argument type mismatch

报错产生原因,类型不匹配,仔细核对了下,发现以下错误:resultMap TaskListEntity 中 task 引用的类型是TaskEntity,而javaBean TaskListEntity 中 task 引用的类型是Task,两者不匹配,所以报类型不匹配!结果:此类问题,需要大家仔细审查,除了排查基本类型,也要看看对象类型是否有问题!...

2020-08-21 08:48:23 1287

原创 session/token 简单认识

session:用户数据存储到服务器session中,用户每次登录,服务器都会检查浏览器是否有JESSION

2020-08-18 22:15:18 419

原创 SpringBoot 热部署、项目发布

SpringBoot 热部署概述1、场景:本地调试、线上发布都要重启服务器,重启服务器浪费了大量的开发、调式时间2、优点:3、热部署与热加载4、原理解析SpringBoot热部署实现1、使用Spring loaded实现:2、使用spring-boot-devtools概述1、场景:本地调试、线上发布都要重启服务器,重启服务器浪费了大量的开发、调式时间PS:思考如何做到发布新程序不需要重启服务器?2、优点:(1)本地、线上都适用(2)无需重启服务器提高开发、调式效率;提高发布、运维效率,降

2020-08-16 23:14:54 296

原创 spring security 退出登录处理

1、如何退出登录2、spring security 默认退出处理逻辑(1)使session失效(2)清楚与当前用户相关的remember-me记录(3)清楚当前的SecurityContext3、与退出相关配置(1)logout().logoutUrl(SecurityConstants.DEFAULT_LOGOUT_URL) //默认登出请求(2)logout().logoutSuccessUrl(“xxx”) //登录成功后跳转地址,与logoutSuccessHandler互斥,只可配

2020-08-16 13:40:47 832

原创 springboot session管理

1、session超时处理(1)配置:在yml或properties文件加入server.session.timeout① 设置10秒未超时:TomcatEmbeddedServletContainerFactory类,查看设置session的方法configureSession(),里边做了判断,会自动将秒数转为分钟,最少1分钟② session失效提示配置:在浏览器配置文件(BrowserSecurityConfig)中设置 sessionManagement().invalidSess

2020-08-16 12:25:40 842

原创 springboot get方式传入参数乱码、返回数据乱码问题解决

1、get方式传入参数,由于是在url后边,默认编码为iso-8859-1,故后端拿到为乱码,需要转为utf-8编码:new String(xxx.getBytes(“iso-8859-1”),“utf-8”)2、返回前端数据乱码,需要指定@requestMapping参数produces = {“application/json;charset=UTF-8”}以上处理方式针对都是单个参数、单个方法,若遇到乱码问题,实在没有解决办法可以考虑使用,本人由于使用了公司已有框架,且开发进度较急,所以没时间去细

2020-08-10 18:04:31 4569

原创 spring security 浏览器第三方登录

spring security 浏览器第三方登录OAuth 协议1、概要简介2、四种授权模式3、spring social基本原理4、使用spring social实现第三方登录5、QQ第三方登录实现OAuth 协议1、概要简介服务器提供商不提供账号密码的情况下,通过发放令牌,让第三方应用可以进行认证、授权并访问资源(1)采用账号密码登录第三方弊端① 应用可以访问用户在微信上的所有数据② 用户只有修改密码,才能收回权限③ 密码泄露的可能性大大提高(2)采用令牌登录(OAuth协议)2

2020-08-09 23:16:19 1613

原创 springBoot @requestBody注解的方法,postman如何模拟发送请求

公司近期在做一个项目,基于省公司现有框架进行功能添加,这边前端和后端分开开发,我主要负责后端,关于后端模拟测试这块,这边和前端同事商量后,决定使用postman工具进行测试,即可做测试,也能给前端同事提供接口文档查看,一举两得。由于之前接触@requestBody @requestParam 注解,测试都是基于swagger,自动生成了文档页面,也不需要自己重新写请求,刚好,这次换了postman,测试接口都得自己写一遍请求,@requestBody 尝试了好几种body 都无果,最后还是上百度找了解决结

2020-08-08 08:36:01 1353

原创 spring security 浏览器登录

spring security安全认证框架一级目录二级目录三级目录spring security安全框架:用于认证(你是谁)和授权(你能干什么),保护服务不被随意访问。一级目录二级目录三级目录

2020-07-26 12:47:05 233

原创 idea 启动报错:Unable to ping server at localhost:1099

最近,我们地市公司要在省公司项目上添加新功能,项目将近200M,用idea工具开发,没想到自己的笔记本电脑刚用git把项目拉下来,配置好tomcat,启动就报了Application Server was not connected before run configuration stop, reason;其他同事都顺利的运行了项目,而我这寻思了两三天都没点进展,百度了好多资料,翻了1到10页,全都是讲jdk、jre版本要对应、host文件127.0.0.1地址要对应电脑名称。。。之类的,在我这完全无用。

2020-07-12 23:11:04 1809 5

原创 Python cx_Oracle连接报错 :oci.dll is not the correct architecture

之前cx_Oracle连接没有问题,突然有一天就报了DPI-1047: 64-bit Oracle Client library cannot be loaded: “D:\OraHome92\bin\oci.dll is not the correct architecture”,然后就开始上网百度了资料,基本的解决思路都是使用的oci.dll版本为32位,要换成64位。顺着以上思路,我下载了instantclient 64位(百度搜索,可以下载得到),然后添加环境变量,如图所示,这里记得,位置要在O

2020-07-11 18:56:27 2237

原创 springboot 使用多线程提升Restful服务性能

1、使用Runnable异步处理Rest服务:副线程必须由主线程调用(主副线程之间是有联系的)package com.mall.web.controller;import java.util.concurrent.Callable;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.GetMapping;import org.springfr

2020-07-06 21:25:17 738

原创 lombok @Data注解不生效

最近在做文件上传功能封装时,第二遍踩坑,@Data注解加上后,Bean类怎么都拿不到getter方法,反反复复检查后,才发现自己犯了一个十分基础的错误:我的文件上传功能是静态方法,我既然在静态方法里调用非静态的变量,所以一直获取不到,十分基础的知识,既然在这里遇到了。结论:检查是否在静态方法调用了非静态的变量...

2020-07-06 19:51:52 2918

原创 springboot 拦截Restful服务三种方式(filter、interceptor、aspect)

1、将过滤器加入项目的方式:(1)采用@Component 注解,实现过滤器bean注入(2)针对第三方过滤器,即无@Component 注解,需要在@Configuration配置文件进行注册:package com.mall.config;import java.util.ArrayList;import java.util.List;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.

2020-07-05 12:24:14 908

原创 springboot 服务异常处理

PS:sts快速查看类:ctrl + shift + T服务异常处理(1)默认处理:BasicErrorController类若以上请求头accept参数包含text/html,出错则走以下方法@RequestMapping(produces = "text/html")public ModelAndView errorHtml(HttpServletRequest request, HttpServletResponse response) { HttpStatus status =

2020-07-04 11:13:57 434

原创 Restful API 简单认识

可通过正则表达式控制需要传入值的类型对于日期类型参数处理,由于后端会对接不同类型的前端,如浏览器、APP、小程序等,返回的格式都不统一,故建议以时间戳格式进行传递,前端根据实际需求进行转换使用。自定义错误信息PS:sts快速查看类:ctrl + shift + T服务异常处理(1)默认处理:BasicErrorController类若以上请求头accept参数包含text/html,出错则走以下方法@RequestMapping(produces = "text/html"...

2020-07-03 23:24:12 102

转载 maven pom、jar、war区别

maven中的三种工程:1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。3.jar工程:将会打包成jar用作jar包使用。...

2020-07-02 22:05:32 130

原创 spring boot 运行错误:There is no PasswordEncoder mapped for the id null

问题错误原因:存储的密码方式与预期的不相符,如下图:出现此错误原因:由于demo项目进行了框架升级,数据库数据没有改变,而程序验证方式不同,密码的存储及解密方式也不同,因此造成了此原因!...

2020-06-22 01:08:54 245

转载 HTTP请求中 request payload 和 formData 区别

FormData和Payload是浏览器传输给接口的两种格式,这两种方式浏览器是通过Content-Type来进行区分的,如果是 application/x-www-form-urlencoded的话,则为formdata方式,如果是application/json或multipart/form-data的话,则为 request payload的方式。form-data方式//不加Content-Type,默认为application/x-www-form-urlencoded$.ajax({ u

2020-06-20 18:53:54 612

原创 spring boot 启动报错: No qualifying bean of type cn.hutool.core.lang.Snowflake available

spring boot 启动错误:Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘idUtil’: Unsatisfied dependency expressed through field ‘sno

2020-06-18 09:31:55 2199 1

原创 spring boot 启动报错:No qualifying bean of type org.springframework.security.oauth2.provider.token.Toke

spring boot启动报错: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘authorizationServerConfig’: Unsatisfied dependency expressed

2020-06-18 09:22:13 11935

原创 Spring Boot 启动报错: Unable to connect to Redis server: localhost/127.0.0.1

最近在研究学习spring boot聚合框架,自己动手配置过程中遇到如下问题:org.redisson.client.RedisConnectionException: Unable to connect to Redis server: localhost/127.0.0.1:6379;Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.

2020-06-18 09:11:43 19273 1

转载 spring boot excle导入导出集成插件对比选择(Poi、EasyExcel、EasyPOI)

从easypoi和easyExcel 的 源码(1)这两者都是引用Apache的poi 但是区别就是两者的解析不同(2)easypoi的解析方式是dom解析,把结果一次都读入内存操作,这样的操作平时是不会有问题的,但是并发量上来的时候就会出现OOM(3)而阿里的easyExcel 运用的SAX的解析方式,明显降低了内存,但是速率下降以上为两者的对比,感兴趣的小伙伴可以根据实际需要到easypoi、easyExcel教程网站进行详细学习!————————————————版权声明:本文为CSDN博主

2020-06-13 13:52:20 3747

mysql本地安装包.rar

由于网络方式下载RPM包太慢,故使用本地下载好的rpm上传至服务器进行安装,有需要的小伙伴可以按照使用,另外安装的方式可以参考https://blog.csdn.net/lzf2284466/article/details/106316485

2020-05-24

空空如也

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

TA关注的人

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