自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唱、跳、Rap、篮球

冰雕是冰做的,而你是沙做的

  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 MapStruct - 注解汇总

MapStruct - 注解汇总

2024-06-13 08:56:34 537 1

原创 JDK8 安装与环境变量配置

JDK8 安装与环境变量配置

2024-03-12 16:40:37 452

原创 Vue3-elementui中el-tabs切换实时更新数据

el-tabs 使用时会一次性把所有 tab 里的请求读完,之后进行 tab 切换,不再重新读取请求 想要实现切换 tab ,通过以下代码实现实时更新数据的要求。分别为自定义的tab子页面。

2023-05-16 11:12:07 6153

原创 Prometheus + Grafana (2) mysql、redis、Docker容器、服务端点以及预警

接着上一节 《Prometheus + Grafana (1) 监控 》,我们继续探讨 Prometheus + Grafana 的复杂应用实现目标这节我们的目标是搭建一个多维度监控微服务的可视化平台,包括Docker容器监控、MySQL监控、Redis监控和微服务JVM监控等,并且在必要的情况下可以发送预警邮件。主要用到的组件有Prometheus、Grafana、alertmanager、node_exporter、mysql_exporter、redis_exporter、cadvisor。各自

2020-11-05 17:08:48 392

原创 Prometheus + Grafana (1) 监控

简介Micrometer/Prometheus/Grafana体系是当前最成熟的低成本Java监控解决方案,而且通过其他的Prometheus exporter,还可以进行诸如我们可能需要的Windows操作系统监控/Mysql/Kakfka等常用组件的监控、PrometheusPrometheus(普罗米修斯)是一套比较完备的监控报警系统,其主要架构设计如图:主要是由以下组件构成:Prometheus server:服务中心,主要负责拉取和存储时序书库(Prometheus有自带的时序数据库

2020-11-05 10:28:55 451

原创 HTML 转 PDF

几种HTML转PDF工具的对比工具特点html2image简单html转化,对CSS的支持不好itextpdf需要自己写模板,可以动态填充wkhtmltopdf转化速度快,效果好所以此处我们重点将wkhtmltopdf的使用做一个示例,完整的项目地址在末尾的链接处使用springboot是现在开发的主流框架,所以此处主要是示例在springboot项目中如何集成,其他项目请自行参考使用准备需要准备三个基础的文件,分别如下:simsun.ttc:字体文

2020-08-31 14:59:19 305

原创 Java中PDF的转换(图片)与展示

解决的问题有些时候我们需要在项目中展示PDF,但是直接在浏览器中加入PDF展示的插件,存在兼容性问题,某些浏览器显示效果不理想,所以我们可以将PDF转为图片,然后已图片的方式展示,效果很好。那么怎么将PDF转为图片呢?有两种方式:产品特点Apache 的 PDF box免费;速度稍慢一点,但可以接受E-iceblue 的 Spire.PDF for Java转换效果很好;速度快;功能强大,支持转多种格式;收费Spire.PDF for Java 的转换效果很好,但

2020-08-20 11:01:16 198

原创 spring-boot-admin 监控

监控单体应用<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version> <relativePath /> <!-- lookup parent from repository --&g

2020-07-28 15:19:42 316

原创 JsonPath - 根据表达式路径解析Json

JsonPath在xml的使用过程中,对于xml的解析我们知道可以使用xpath的方式,随意的获取到我们想要的属性值。那么在使用json时,我们能不能实现同样的操作呢?答案就是 json-path基础介绍跟 XPath 类似,JsonPath 通过路径来检索JSON,对语法格式如下语法符号描述$表示json的根节点,表示根节点下的所有数据.表示子节点,如 $.store 表示根节点下的store节点下的所有数据…可实现递归搜索,如 $…title 表示搜索j

2020-07-11 13:33:03 4015

原创 OAuth + Security - 7 - 异常翻译

认证异常翻译默认情况下,当我们在获取令牌时输入错误的用户名或密码,系统返回如下格式响应:{ "error": "invalid_grant", "error_description": "Bad credentials"}当grant_type错误时,系统返回:{ "error": "unsupported_grant_type", "error_description": "Unsupported grant type: passwordd"}在secur

2020-06-23 15:57:19 587 1

原创 ELK的安装

准备工作首先将我们下载的Elasticsearch、Kibana压缩文件上传,我们此处是选择的压缩包安装创建用户(必须创建,使用root安装会报错不能进行)创建用户组为用户和用户组分配文件的权限(主要是分配对解压文件所在目录的执行权限)切换到新建用户下,将压缩包解压Elasticsearch安装进入elasticsearch的bin目录下,执行命令./elasticsearch,启动成功执行curl http://localhost:9200 查看是否启动成功配置但是这时,我们

2020-06-10 17:59:11 107

原创 OAuth + Security - 错误收集

Could not decode JSON for additional information: BaseClientDetails完整的错误输出如下:2019-12-03 22:18:37.239 WARN 19120 --- [nio-8100-exec-4] o.s.s.o.p.c.JdbcClientDetailsService : Could not decode JSON for additional information: BaseClientDetails [clientI

2020-06-09 11:06:19 220

原创 OAuth + Security - 6 - 自定义授权模式

我们知道OAuth2的官方提供了四种令牌的获取,简化模式,授权码模式,密码模式,客户端模式。其中密码模式中仅仅支持我们通过用户名和密码的方式获取令牌,那么我们如何去实现一个我们自己的令牌获取的模式呢?下面我们将以用户名,密码,角色三个信息的方式来获取令牌。在授权模式中,授权模式的核心接口是 TokenGranter ,他拥有一个抽象实现类 AbstractTokenGranter ,我们需要自定义新的 grant type ,就再写一个他的子类即可,如下:public class AccountRole

2020-06-09 10:55:10 246

原创 Linux 配置静态IP

此篇文章开始在之前,我们默认你已经会安装Linux系统,或者已经安装好Linux系统。如果没有完成此项工作,请自行百度完成。准备工作虚拟机全局设置打开虚拟机软件VM,然后点击顶部,选择【虚拟网络编辑器】,如图:如果需要管理员权限点【更改设置】,没有提示这忽略这一步选择NAT模式,更改下面的子网IP,改成你需要的任何一个子网网段(最好保证前面的192.168不变,然后第三位在0~255,新手可以照抄如图配置),子网掩码不建议改变其它的可以点击移除网络删掉,没啥用在这个页.

2020-06-09 09:00:38 151

原创 OAuth + Security - 5 - Token存储升级(数据库、Redis)

PS:此文章为系列文章,建议从第一篇开始阅读。在我们之前的文章中,我们当时获取到Token令牌时,此时的令牌时存储在内存中的,这样显然不利于我们程序的扩展,所以为了解决这个问题,官方给我们还提供了其它的方式来存储令牌,存储到数据库或者Redis中,下面我们就来看一看怎么实现。不使用Jwt令牌的实现存储到数据库中(JdbcTokenStore)使用数据库存储方式之前,我们需要先准备好对应的表。Spring Security OAuth仓库可以找到相应的脚本:https://github.com.

2020-06-07 23:19:37 240

原创 OAuth + Security - 4 - 客户端信息存储数据库

在上面的所有配置中,我们的客户端信息和授权码模式下的授权码任然还是存储在数据库中的,这样就不利于我们后期的扩展,所以在正式的生成环境中,我们一般将其存储在数据库中。建表首先,根据OAuth官方给的数据库建表实例创建相应的表,这里我们只需要oauth_client_details和oauth_code############################## oauth_client_details #############################DROP TABLE IF EXISTS

2020-06-02 17:08:03 285

原创 OAuth + Security - 3 - JWT令牌

为什么使用JWT令牌在上面的资源服务器中,通过配置,我们了解到,当我们拿着token去获取资源时,程序会先去调用远程认证服务器的端点去验证解析token,或者在本地解析校验token,这样毫无疑问,当访问量过大的时候,对认证服务器的压力可想而知,所以为了解决上面的问题,我们采用JWT令牌格式,可以优化上面的问题。令牌采用JWT格式即可解决上边的问题,用户认证通过会得到一个JWT令牌,JWT令牌中已经包括了用户相关的信息,客户端只需要携带JWT访问资源服务,资源服务根据事先约定的算法自行完成令牌校验,无需

2020-06-02 16:12:50 221

原创 OAuth + Security - 2 - 资源服务器配置

资源服务器配置@EnableResourceServer 注解到一个@Configuration配置类上,并且必须使用ResourceServerConfigurer 这个配置对象来进行配置(可以选择继承自ResourceServerConfigurerAdapter然后覆写其中的方法,参数就是这个对象的实例),下面是一些可以配置的属性:ResourceServerSecurityConfigurer中主要包括:tokenServices :ResourceServerTokenService

2020-06-02 11:45:47 668

原创 OAuth + Security - 1 - 认证服务器配置

配置基础包依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>================================== 在spring-boot中 ===============================

2020-06-02 11:44:49 377

原创 炫酷加载中动画GIF

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-01-26 22:52:30 794

原创 Spring Framework 源码编译导入

预先准备环境Window 10JDK环境List itemGradle 以及其环境变量配置spring-framework源码(https://gitee.com/mirrors/Spring-Framework)由于GitHub被微软收购以后,国内访问速度堪忧,所以提供码云的同步源码仓库、导入 IDEA这里的编译过程是参考源码文件夹中的 import-into-idea...

2020-01-19 16:38:22 131

原创 Springboot引入本地jar时打包

在项目的开发过程中有时我们需要引入我们本地的jar包,这些jar包没有存在maven仓库中 ,这时没有办法通过pom文件直接引入,在开发过程中我们可以通过add as library的方式,可以在开发的过程中使用,但是将项目打包成jar时,这些包并不会打包到jar中,项目就会报错。那么我们怎么来处理这个问题呢,请看下面的操作:在项目resource目录中创建个文件夹用来存放jar包,如:li...

2020-01-07 17:30:53 108

原创 Stream + Lambda 表达式

去重两个list对象根据条件去重List<User> userList 和 List<Person> personList去掉 userList 中的 User 的 id 不等于 personList 中的 Person 的 id 的对象List<User> userList = userList.stream() .filter(user ...

2020-01-02 15:01:46 225 1

原创 Springboot整合webservice

Springboot整合webservice2019-12-10 16:34:42 星期二WebService是什么WebService是一种跨编程语言和跨操作系统平台的远程调用技术,服务之间的相互调用与开发语言无关WebService平台技术XML+XSDWebService采用HTTP协议传输数据,采用XML格式封装数据SOAPWebService通过HTTP协议发送请...

2019-12-10 16:42:43 200 1

原创 springboot之日志配置-logback

springboot之日志配置-logback1、为什么使用logback2、logback在springboot项目中的简单使用3、自定义logback的配置文件,适应项目中对日志的不同需求4、书写配置文件前需要清楚的几个知识点友情链接(个人学习的项目总结)[GitHub地址](https://github.com/dimples822/dimples-study)1、为什么使用logback...

2019-07-09 17:03:43 161

wkhtmltox html转pdf

wkhtmltopdf工具,适用于Linux系统下使用,对应的使用方法请参考博客:https://blog.csdn.net/qq_34431921/article/details/108321356

2020-08-31

空空如也

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

TA关注的人

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