自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

青藤光年的博客

知道的越多,越发现自己的渺小

  • 博客(175)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring Boot 解决整合Redis后key值乱码的问题

Spring Boot 整合redis后使用redisTemplate操作redis,生成的key会乱码,导致通过keys模糊匹配等命令无法找到相应的key值。原因是redis默认使用的jdk的序列化方式,会导致key值乱码。解决办法:配置Redis的序列化方式添加RedisConfig类,使用jackson序列化代替默认的序列化方式。@Configurationpublic clas...

2019-01-22 11:30:16 3882

原创 SpringBoot jackson提供对LocalDate的支持

SpringBoot默认使用jackson来进行json格式转换,我们在配置文件中加入如下配置可以统一的改变Spring MVC返回值的日期格式类型spring.jackson.date-format=yyyy-MM-ddspring.jackson.time-zone=GMT+8spring.jackson.serialization.write-dates-as-timestamps...

2019-01-11 13:32:09 4372

原创 Centos7安装ElasticSearch6.5.4

因为ElasticSearch是基于Lucene的分布式搜索引擎,Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,所以需要先在你的环境中安装jre环境。具体可以参考这篇文章Centos7 安装和配置jre1.8。第一步,下载ElasticSearchhttps://www.elastic.co/downloads/elasticsearch...

2019-01-10 13:56:19 1261

原创 Centos7 安装和配置jre1.8

第一步,下载jre前往Oracle官网下载:http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html第二步,将下载的文件上传到/home/data下cd /homemkdir datacd datarz我是通过XShell的rz命令上传文件的你...

2019-01-10 13:15:02 1333

原创 Mysql5.7版本group by 子查询中order by 无效的问题解决办法

我们都知道group by 会选择保留第一条数据,默认是按照id排序的,如果我们想通过别的字段排序,比如最后创建的那条记录,可以先按照创建时间降序,再group by即可得到每个分组的最新创建的数据。例:通过如下sql查出两条数据SELECT * FROM xxx WHERE groupId = 11 ORDER BY effectiveDate DESC现在group by...

2019-01-08 13:09:51 5085

原创 Mybatis使用java8提供的日期类

如果直接在Mybatis中使用LocalDate、LocalDateTime这些java8提供的日期类当做映射的话会报错 No typehandler found for property create解决办法,引入依赖<dependency> <groupId>org.mybatis</groupId> <artifactId&g...

2019-01-08 12:41:01 1192 2

原创 SqlServer union all使用方法

在SqlServer中使用union all 查询两个sql的合并结果,sql 如下select top 1 sdtPeriod from tbfundportionassistant as p ORDER BY p.sdtPeriodUNION ALLselect top 1 sdtPeriod from tbfundportionassistant as p ORDER BY p...

2019-01-02 11:01:47 6402

原创 vue2.0+element-ui+js-xlsx.js+fileSaver.js导出表格到Excel出现重复表格解决办法

如果element-ui的table使用了fixed属性固定列,导出表格时会出现导出两次的问题,是因为在table中有两个table标签,我们可以通过代码解决这个问题,注意代码中拷贝了一个table元素,否则直接删除会删除页面中的表格output(tableID) { /* generate workbook object from table */ ...

2018-12-28 11:18:31 4075 2

原创 js-xlsx插件导出table把字符串当做数字处理解决办法

使用js-xlsx插件和FileSaver插件可以很容易的实现前端导出表格到Excel功能GitHub地址https://github.com/SheetJS/js-xlsxhttps://github.com/eligrey/FileSaver.js 开发中遇见一个问题,使用js-xlsx插件将table转成workbook时,会默认把内容是数字的字符串当做数字处理比如 ...

2018-12-28 11:11:55 6782 6

原创 SpringCloud+SpringBoot+OAuth2+Spring Security+Redis实现的微服务统一认证授权

因为目前做了一个基于Spring Cloud的微服务项目,所以了解到了OAuth2,打算整合一下OAuth2来实现统一授权。关于OAuth是一个关于授权的开放网络标准,目前的版本是2.0,这里我就不多做介绍了。下面贴一下我学习过程中参考的资料。理解OAuth 2.0——阮一峰Spring Security OAuth2 开发指南Spring Security Oauth2 自定义 OA...

2018-12-17 16:52:34 60878 104

原创 SpringBoot项目打成jar包后无法读取到resource下的文件

在Springboot项目的resources下添加了一个Excel模板文件以供客户端下载开发环境下通过这种方式读取文件File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "static/excel/userTemplate.xlsx");当项目打成jar包放到服务器后就找不到文件了,原...

2018-12-07 13:15:51 16591 10

原创 mysql 实现 Oracle NVL2非空判断的效果

使用 IF 配合 ISNULL来实现IF ( ISNULL(字段名) , 0 , 1 )如果是null,返回0,不是null返回1

2018-12-06 14:55:16 4864

原创 CSS 块级元素和行内元素居中

转载自:http://jingyan.baidu.com/article/e2284b2b67b5f1e2e6118d22.html一般来说,在页面中需要进行水平居中的元素,大致分为两种,一种是块级元素,即display:block,一种是行内元素display:inline-block;块级元素包括div,ul,p,以及所有的h类标签。行内元素又叫内联元素,a,img,input是最常见...

2018-12-06 13:48:17 534

原创 Vue + Element-ui的下拉框el-select获取额外参数

<el-table-column label="用户类型" width="180"> <template slot-scope="scope"> <el-select v-model="scope.row.roleID"

2018-12-04 13:11:35 6409 1

原创 解决vue不是内部或外部命令的问题

第一步,确认是否安装了vue和vue-cli第二步,搜索vue.cmd的位置,我的位置在D:\Java\node-v8.9.0-win-x64\node-global第三步,将路径添加到Path变量第四步,打开cmd,如果你已经打开了就重新打开,输入命令 vue到此就成功了,可以使用vue init webpack 项目名去构建项目了...

2018-12-02 15:16:56 4949

原创 WebStorm运行Vue项目吃内存,卡顿,拉取svn慢解决办法

1.把不用的插件关掉2.Editor—>File Types —>ActionScript—>*.as添加node_modules;这样设置后WebStorm占用内存从2G多降到了800多M,而且提交svn也贼快了。...

2018-12-01 10:45:50 4523

原创 Vue使用axios引起的后台session不同

新项目前端用的Vue全家桶,使用axios代替ajax请求后台接口,在调整注册接口的时候,发现在session里取不到验证码,排查后才知道获取验证码和注册两个请求的session不同,sessionId不一样。现在调整一下Vue的配置,修改main.js文件,添加如下两行代码import axios from 'axios'axios.defaults.withCredentials=...

2018-11-29 16:06:37 3752 1

原创 SpringBoot整合Swagger2

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。是一套流行的API框架,可以帮助开发人员快速构建API文档,还可以方便测试项目各项功能。Swagger官网地址:https://swagger.io/现在的项目大多是前后端分离,前后端沟通如果只依靠手写文档这种方式真的是很不方便,所以构建API文档的工作我们完全可以交给Swagger来做,节省...

2018-11-23 13:24:48 2227 1

原创 IntelliJ IDEA构建多Module的maven工程

创建父工程,点击File—>new —>Project选择Maven,不要勾选Create from archetype点击Next,填写GroupId和ArtifactId点击Next,给工程起名并选择保存位置,这里就用默认的了点击Finish,生成了一个如下结构的项目删除src目录,新建一个子工程,在父工程项目名上右键 new —>Mo...

2018-11-23 10:00:48 398

原创 Redis使用场景之——限制验证码发送次数

项目中需要一个发送短信验证码的功能,但是需要限制每天发送限制码的次数,可以借助Redis的incr命令实现。incr命令:对存储在指定key的数值执行原子的加1操作。如果指定的key不存在,那么在执行incr操作之前,会先将它的值设定为0。返回值是执行递增操作后key对应的值。代码: long count = redisTemplate.opsForValue().inc...

2018-11-22 12:54:19 6289

原创 Spring Cloud系列(三十三)Zuul网关报错 Load balancer does not have available server for client

1.是否导入了Eureka依赖2.是否添加了上图标注的注解

2018-11-20 16:18:40 3220

原创 Spring Cloud系列(三十二)Feign丢失Cookie和Header信息的问题(Finchley.RC2版本)

转载自:feign调用session丢失解决方案当通过Feign调用其他的服务时,Feign是不会带上当前请求的Cookie信息和头信息的,而我们一般都会在Cookie或者请求头里带着一些重要的信息,如cookieid,token等。那么我们怎么将这些信息传递到其他的服务里呢?方式一最傻的办法,在程序中获取,调用其他服务的时候通过参数的方式注入。@RequestMapping(v...

2018-11-20 16:14:16 9967 9

原创 idea 使用@Autowire注入报错

idea 使用@Autowire注入提示报错,虽然可以正常运行,但是强迫症看起来很难受。通过上图的修改就OK了。

2018-11-08 17:30:06 1997

原创 thymeleaf在idea中变量名报错

在idea中使用thymeleaf,变量名下都有红色的波浪线,如下图虽然不影响正常运行但是看起来很难受,所以怎么去掉这个波浪线呢?File —>Setting—>Editor—>Code style—>Inspections去掉Thymeleaf下的Expression variables validation 的对勾即可。页面不会报错了。 ...

2018-11-06 18:35:24 1914 1

原创 Java8接口默认方法和静态方法

接口的默认方法Java 8中允许接口中包含具有具体实现的方法,该方法称为“默认方法”,默认方法使用 default 关键字修饰。public interface MyFun { default String getName(){ return "小李"; }}类优先原则若一个接口中定义了一个默认方法,而另外一个父类中又定义了一个同名的方法时,继承的子类会选择父类中的...

2018-10-31 15:16:02 325

原创 Java8Stream API

Stream (java.util.stream.*)是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。Strea...

2018-10-29 17:03:30 326

原创 Java8Lambda表达式

Lambda是一个匿名函数,Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中),你可以理解为是一段可以传递的代码。使用 Lambda 表达式可以使代码变的更加简洁紧凑,是一种函数式编程方式。首先,我们先了解一下为什么要使用Lambda表达式。假如现在有一个需求,为农民写个软件,需求是可以在苹果中挑选出所有的红苹果。第一步,创建Apple类,具有两个属性:颜色和重量,还要...

2018-10-25 16:30:30 232

原创 Java8新特性

参考书籍——《Java8实战》简单地说,Java8是自Java1.0发布18年以来,发生变化最大的一个版本。这个版本中Java并没有抛弃以前的任何东西,因此现有的代码都可以继续正常工作,Java8只是提供了一些新的强大功能,比如Lambda表达式、stream等,可以让你的代码看起来更简洁、更清楚,效率更高。Java8到底有哪些新特性,我总结了一下: Lambda 表达式 − Lambd...

2018-10-25 11:26:18 297

转载 Redis系列之——redis.conf配置文件详解

redis.conf文件是Redis的配置文件。可以通过CONFIG命令查看或设置配置项。Redis CONFIG 命令格式如下:查看 CONFIG GET CONFIG_SETTING_NAME例如:redis 127.0.0.1:6379> CONFIG GET loglevel1) "loglevel"2) "notice"使用*号获取所有...

2018-10-16 19:51:19 3938

原创 Redis系列之——介绍与单机版安装

Redis是由C语言开发的Key-Value数据结构系统,它是开源的,可以用作NoSQL数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串,散列,列表,集合,有序集合 。Redis内置了复制,LUA脚本, LRU驱动事件,事务和不同级别的磁盘持久化,并通过 Redis哨兵和自动分区提供高可用性。全世界使用Redis最多的互联网企业就是新浪,因为新浪微博数据的特性,所以新浪大量使用Re...

2018-10-16 19:02:53 464

原创 RabbitMQ系列—Java操作之事务模式和Confirm模式

在之前介绍到了RabbitMQ的消息持久化和消费者端手动确认,解决了消费者异常导致的数据丢失问题,那么我们如何确定生产者生产的消息已经被发送到rabbitmq服务器了呢?通俗点说,如果消息经过交换器进入队列就可以完成消息的持久化,但如果消息在没有到达broker之前出现意外,那就造成消息丢失,有没有办法可以解决这个问题?有两种方式:通过AMQP协议,AMQP协议实现了事务机制。 通过Conf...

2018-10-11 16:18:59 929

原创 RabbitMQ系列—Java操作之Publish/Subscribe、路由模式、Topics主题模式

Exchange交换机在后面介绍的Publish/Subscribe、路由模式、主题模式都需要用到交换机,在引入了交换机组件后,重新归纳一下RabbitMQ的各组件功能。生产者:发送消息 交换机:将收到的消息根据路由规则路由到特定队列 队列:用于存储消息 消费者:收到消息并消费交换机的类型交换机主要包括如下4种类型:Direct exchange(直连交换机) Fanou...

2018-10-11 14:29:47 932

原创 RabbitMQ系列—Java操作之简单队列、工作队列

RabbitMQ官网介绍了,它支持六种应用场景:简单队列、工作队列、发布/订阅、路由模式、Topics主题模式、RPC,接下来分别介绍。创建一个Maven项目命名rabbitmq,并引入rabbitmq依赖。<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-c...

2018-10-10 18:20:55 4745 1

原创 RabbitMQ系列—用户管理、角色管理、权限管理

用户管理安装RabbitMQ后,RabbitMQ默认提供了guest用户,guest具有最高权限,在开发中不建议直接使用,需要为项目创建用户。通过命令的方式添加用户rabbitmqctl add_user username passwd删除用户rabbitmqctl delete_user username修改用户密码rabbitmqctl change_pa...

2018-10-10 14:53:59 8529

原创 RabbitMQ系列一基础概念和使用场景

RabbitMQ是基于AMQP协议的消息中间件。AMQP中主要有两个组件:Exchange 和 Queue (在 AMQP 1.0 里还会有变动),如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两种类型:R...

2018-10-09 18:05:00 601

转载 Spring Cloud系列(三十一) Zuul动态加载—Finchley版本

本文摘自:《Spring Cloud 微服务实战》——翟永超在微服务架构中,由于API网关服务担负着外部访问统一入口的重任,它同其他应用不同,任何关闭和重启应用的操作都会是系统对外停止服务,对于很多7*24小时服务的系统来说,这种请求是不允许的。所以作为最外部的网关,它必须具备动态更新内部逻辑的能力,比如动态修改路由规则、动态添加、删除过滤器等。通过Zuul实现的API网关服务具备了动态路...

2018-10-09 15:18:08 1047

原创 RabbitMQ系列一介绍与安装

什么是MQMQ就是Message Queue,也就是消息队列,是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信。消息队列的目的就是实现应用的异步和解耦。现在成熟的MQ有很多种,比如Apache的ActiveMQ、阿里的RocketMQ(已经捐献给了Apache)、...

2018-09-30 16:28:09 374

原创 Spring Cloud系列(三十)Config客户端—Finchley版本

URI指定配置中心Spring Cloud Config客户端在启动的时候,默认会从工程的classpath中加载配置信息并启动应用。只有当我们配置spring.cloud.config.uri的时候,客户端才会尝试连接Spring Cloud Config 的服务端来获取远程配置信息并初始化Spring 环境配置。同时,我们必须将该参数配置在bootstrap.properties或者boo...

2018-09-30 11:15:36 2060

原创 Spring Cloud系列(二十九)高可用配置中心—Finchley版本

本文转载自:Spring Cloud构建微服务架构(四)分布式配置中心(续)--翟永超传统作法通常在生产环境,Config Server与服务注册中心一样,我们也需要将其扩展为高可用的集群。在之前实现的config-server基础上来实现高可用非常简单,不需要我们为这些服务端做任何额外的配置,只需要遵守一个配置规则:将所有的Config Server都指向同一个Git仓库,这样所有的配置...

2018-09-29 16:40:22 593

转载 Spring Cloud系列(二十八) Config服务端详解—Finchley版本

在上一篇文章实现了基本结构的配置管理服务端和客户端,同时讲解了一些配置的基本原理。现在总结一下它是如何运作起来的。其中主要包含下面几个要素。远程Git仓库:用来存储配置文件,上一篇文章我存储了应用名为repo的多环境配置文件:repo-{profile}.properties。 Config Server:这是一个分布式配置中心,即config-server-vFinchley.RC2工程,...

2018-09-29 15:56:39 1208

空空如也

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

TA关注的人

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