12 icarusliu81

尚未进行身份认证

http://liumoran.cn

等级
博文 127
排名 4w+

IDEA插件开发总结

前言IDEA是一个非常强大的工具,对于提高编程效率有非常大的帮助。当然他也不是全能的,有时候的一些需求他可能并没有办法直接满足,这个时候一般就需要通过他的插件来完成了。目前Idea已经有了非常多的插件可以使用,但有时候可能现有插件并不能满足自己的需求,我就遇到了两个,如生成Bean的Setter方法时,想要同时生成void类型的Setter以及返回Bean类型的Setter方法,并未找到好的插...

2019-07-17 16:38:06

Idea插件开发-JPA、MyBatis实体类代码生成器插件

使用Spring开发项目的过程中,习惯于使用JPA进行表的创建、数据的更新等操作,但JPA对于复杂查询的支持比较差,因此很多时候又会同时引入mybatis来进行复杂查询。再加上实体对象与传输对象分离,在开发一个简单的表单查询维护功能时,也需要创建很多的类来完成对应功能的开发,如DTO对象、数据库操作类、DTO与实体类转换器、操作服务接口、操作服务接口实现类、控制器等。每次我们新创建一个实体类,都...

2019-07-16 18:21:26

Spring Security OAuth专题学习-授权服务源码解读

授权服务主要完成以下四个核心功能:客户端授权关系管理;接收用户或客户端登录请求,生成accessTokenToken存储Token校验本文将从源码层面分析授权服务如何实现上述四个功能。关于SpringOauth2的一些基础概念及示例,可参考:http://liumoran.cn/topic/myTopics/11.概述授权服务包含有以下几个关键类:EnableAutho...

2019-05-24 09:37:01

Spring Security OAuth专题学习-资源服务源码解读

通过SpringSecurityOAuth专题学习的前面四篇文章(http://liumoran.cn/topic/myTopics/1),对于SpringSecurityOAUth的基本使用已经有了一些基本的概念。然而对于资源服务及授权服务生效原理,仍旧一无所知。接下来将从源码层面对SpringSecurityOAuth相关组件进行分析与学习。SpringSecurityOA...

2019-05-14 09:22:26

Spring Boot+Vue+Spring Security OAuth2的前后端分离项目实现研究

业余在开发一个SpringBoot+Vue+SpringSecurityOAuth2的一个前后端分离项目,其中遇到不少如跨域、OPTIONS请求处理、PreAuthorize注解无效、Token失效处理等问题,记录如下。在此项目中,资源服务与授权服务在同一应用中,使用端口8081;前端应用使用端口8080。前端使用axios进行ajax调用。关于SpringSecurityOAuth...

2019-05-09 19:12:14

【问题处理】Spring Boot中kafka消息能力不足现象及问题解决

【本文首发于个人网址:liumoran.cn】kfaka中主要包含生产者与消费都对象,生产者往队列中推送消息,而消费者则从队列中读取并处理消息。生产者推送的过程较为简单,而对于消费者来说,情况复杂且容易受各种因素影响。1.消费过程消费过程如下所示:CreatedwithRaphaël2.2.0开始是否有消息?读取消息处理消息提交offset是否停止?结束等待等待超时yesnoyes...

2019-04-02 19:27:44

Spring Boot中如何使得fastjson支持JDK8新时间对象LocalDate、LocalDateTime

在SpringBoot中使用fastjson来处理JSON格式转换时,默认情况下是不支持JDK1.8中的LocalDateTime及LocalDate等时间对象的。为使其支持这些对象,可以定义相关的ObjectDeserializer来处理,并将定义的对象通过ParserConfig.getGlobalInstance().putDeserializer方法将其作为全局配置。实现如下:@Co...

2019-03-26 18:00:48

Spring Security OAuth专题学习-授权码模式及简化模式实例

本文是SpringSecurityOAuth2学习系列文章中的第四篇;主要讲解授权码模式(AuthenticationCode)及简化模式(Implicit)的使用。关于密码模式、客户端模式及SpringSecurityOAuth2的一些基础知识,请移步本博客文章清单进行查看。1.简介授权码模式主要使用在客户端与授权、资源服务器不在同一公司的情况;在这种场景下,客户端并不是可信的,...

2019-02-27 18:42:27

Spring Security OAuth专题学习-密码模式JWT实现

本文是SpringSecurityOAuth2学习系列文章中的第三篇;主要讲解密码模式下如何使用JWT管理Token。关于密码模式非JWT的实现示例及SpringSecurityOAuth2的一些基础知识,请移步本博客文章清单进行查看。1.JWT是什么JWT是JSONWebToken的缩写。它与标准Token不一样的地方在于,在Token中它附加存储了很多额外的信息,如Toke...

2019-02-27 10:40:20

Spring Security OAuth专题学习-密码模式及客户端模式实例

在https://blog.csdn.net/icarusliu/article/details/87911093一文中,介绍了OAuth的一些背景知识;本文将编写一个简单的示例,演示授权模式中的密码模式及客户端模式如何实现。本示例中涉及到的几个对象其关系如下图所示:密码模式一般用于用户对客户端信任度最高的情况下,因为客户端需要保存用户在授权服务器中的用户名及密码信息,客户端可以访问所有用户...

2019-02-25 13:48:28

Spring Security OAuth专题学习-背景

在公司项目中有使用到SpringSecurityOAuth2来对SpringCloud集群的授权进行控制,为加深对这一技术的理解,自己花时间对OAuth的几个授权类型进行了学习,并记录如下。本文主要介绍一些oauth2相关的背景知识及常见概念。后续将针对每一种授权模式进行实战演练。1.产生背景在传统前后端不分离的WEB应用中,一般通过Session的方式来保存用户登录状态;每一个请求...

2019-02-25 09:17:43

Spring Cloud配置文件加载简述

SpringCloud中配置文件的加载机制与其它的SpringBoot应用存在不一样的地方;如它引入了bootstrap.properties的配置文件,同时也支持从配置中心中加载配置文件等;本文主要聚焦在这些配置文件加载的优先级及覆盖关系的控制上,对于帮助理解SpringCloud的配置文件加载方式有一定的帮助。1.bootstrap上下文Spring中加载的配置文件是分层级的;S...

2018-12-29 10:42:18

nginx安装启动及动静分离、https配置

nginx主要有两个作用:作为负载均衡服务器,可以将请求转发到后台多个Tomcat服务器;可以专门处理静态页面,动态的JSP等放在Tomcat中处理;Win下的Nginx下载:http://nginx.org启动:下载后解压压缩包,然后直接双击nginx.exe;此时不会出现任何提示,实际上已经在后台启动了。通过以下命令可以查看启动的实例:tasklist/fi"image...

2018-12-28 11:33:00

Java8日期类型常见用法总结

Java8新引入了一些日期、时间对象,这些对象与老的日期时间对象的使用上存在很大的不同,刚开始会很不习惯,但经过初步的使用后一定会更习惯使用这些新的API的,它使得对日期时间对象的操作上不会再如老的使用方式那样痛苦。首先需要明确的一个概念就是,Java8中将日期与时间对象区分开了。如果只需要使用年、月、日而不关注时间信息,可以直接使用LocalDate;如果需要关注时间信息,可以使用LocalD...

2018-12-13 10:05:03

通过训练将图像压缩到指定大小

最近在做一个东西,想要将图片压缩后存储到服务器上以节省空间。直接使用JDK中的类进行压缩处理,但发现压缩后的图片大小跨度区间较大。最终考虑在计算压缩比例时引入调整值,并对这个调整值进行训练,以尽量缩减压缩后大小与目标大小的差距。使用不同大小的图片进行训练后就可以得到一组调整值,最终在代码中可以直接使用这组结果来处理。而不是每次都需要重新训练。实现如下:packagecom.iroote...

2018-12-12 15:56:21

JAVAFX开发的Redis客户端

未找到顺手的Redis客户端,便自己使用JavaFx开发了一个。下载地址:https://pan.baidu.com/s/1ld5XSDnVOzh61v--WEzsPg界面如下:主要通过快捷键来操作;快捷键如下:CTRL+N:创建新连接;CTRL+E:切换连接;CTRL+F:跳转到输入框;(输入框中输入后直接按enter查找)输入框中按向下直接跳转到key的清单,选择某个Key后按...

2018-12-07 15:59:21

kafka消费者构建未返回问题分析-线程池异常处理

在上文中,配置kafka参数时因为参数类型与kafka预期的类型不匹配而导致其抛出了ConfigException。但很奇怪的是,在日志中看不到这个异常的任何信息,因此也导致我一直没往这方面考虑,最终通过一步步调试才发现对构造函数的调用居然没有返回,并经过进一步的分析搞清楚了是因为参数类型不匹配而抛出了异常,但为什么这个异常信息未打印出来的问题也一直困扰着我。问题未搞清楚始终是块心病,因此对这块...

2018-12-04 09:58:45

kafka消费问题处理记录

公司系统内部数据交换使用了kafka,最近发现有时会报以下异常:org.apache.kafka.clients.consumer.CommitFailedException:Commitcannotbecompletedsincethegrouphasalreadyrebalancedandassignedthepartitionstoanothermembe...

2018-12-03 19:31:53

MVN指定打包需要包含的目录

在使用jpamodelgen生成源码后,源码生成的目录在target目录下;如果此时又想使用mvn将项目打成jar包,那么生成的源码并不会打到JAR包中去。此时,需要在pom.xml文件中将该目录包含进去:<resources> <resource> <directory>src/main/java</directory> </re...

2018-11-22 15:36:54

JavaFX开发的开发常用工具集——清单管理工具、命令行加强工具及HTTP调用工具

在软件开发过程中,经常会需要使用到一些工具,如清单管理、HTTP调用测试等,电脑上经常要装一堆的软件,而且这些软件经常不是很满足自己的使得习惯。作为一个开发人员,很自然的就想按自己的想法开发一些工具来供自己使用,因此这个工具集就因此而产生了,并且在使用过程中仍在不断优化与增加。目前包含了三个工具:一是定制化的清单管理工具;二是HTTP请求工具;三是Win命令行加强工具。全部都是使用JavaFX等...

2018-10-14 14:50:46
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。