- 博客(24)
- 收藏
- 关注

原创 从零搭建spring cloud微服务系列导航
已停止更新,源码及文档请进入https://github.com/huaPeiLiang/spring-cloud-start第一章:从零搭建spring cloud微服务一 · 注册中心第二章:从零搭建spring cloud微服务二 · 客户端第三章:从零搭建spring cloud微服务三 · 服务提供者与服务消费者Rest和feign调用第四章:从零搭建spring clo...
2019-01-16 14:47:41
635
原创 一文学会如何使用mybatis的一级缓存、二级缓存
首先从它们的区别讲起,使用方面主要从spring boot的角度进行讲解。我的mybatis版本如下:<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId...
2020-03-13 17:03:37
401
原创 从零搭建spring cloud微服务五 · 配置中心及自动化配置
第一步:获取Access Tokens第二步:查询项目id比如你的gitlab上有A、B、C三个项目,但是你只需要导出A项目中的问题列表(issues)。那么你就需要知道A项目在gitlab上的id。操作一: 打开电脑终端。操作二: 输入如下命令。curl --header "PRIVATE-TOKEN: 第一步获得的token" h...
2019-07-17 11:12:27
789
原创 spring与mongo建立连接(进行身份认证)
一、使用xml配置mongo连接(不需要身份认证)1、通过xml直接写死 username:mongo数据库的用户名 password:mongo数据库的密码 host:mongo数据库的域名(本地可以使用127.0.0.1) port:mongo数据库的端口号(默认是27017) dbname:mong...
2019-02-15 10:02:58
2705
原创 从零搭建spring cloud微服务四 · 公共模块
已停止更新,源码及文档请进入https://github.com/huaPeiLiang/spring-cloud-start一、回顾上一篇文章:从零搭建spring cloud微服务三 · 服务提供者与服务消费者Rest和feign调用通过上一篇文章解决了微服务之间的调用问题。这一篇搭建公共模块,在公共模块里可以定义共用的实体类,方法等。文章结尾会有下期预览及下一篇文章链接,也可...
2019-01-24 11:17:44
5704
原创 从零搭建spring cloud微服务三 · 服务提供者与服务消费者Rest和feign调用
已停止更新,源码及文档请进入https://github.com/huaPeiLiang/spring-cloud-start一、回顾上一篇文章:从零搭建spring cloud微服务二 · 客户端上一篇文章介绍了Eureka客户端的搭建与注册,这一篇文章将会基于Eureka客户端的基础上搭建服务提供者与服务消费者。很多初学者会把这四个名词“Eureka服务端(注册中心)”、“Eure...
2019-01-16 11:20:31
984
原创 从零搭建spring cloud微服务二 · 客户端
已停止更新,源码及文档请进入https://github.com/huaPeiLiang/spring-cloud-start一、回顾上一篇文章:从零搭建spring cloud微服务一 · 注册中心上一篇文章简单介绍了eureka注册中心的搭建,这一篇进行客户端的搭建。文章结尾会有下期预览及下一篇文章链接,也可以直接访问:从零搭建spring cloud微服务系列导航二、搭建...
2019-01-15 14:02:28
839
原创 从零搭建spring cloud微服务一 · 注册中心
已停止更新,源码及文档请进入https://github.com/huaPeiLiang/spring-cloud-start一、搭建Eureka注册中心准备工作首先需要创建一个maven项目或者直接创建一个spring boot的项目。初学者推荐使用Spring Tool Suite工具快速创建spring boot项目,简单便捷(官网下载地址:http://spring.io/tool...
2019-01-14 16:36:23
1673
原创 springBoot+springCloud配置同步及自动更新
一、配置类如何读取配置比如:CommonConfiguration.java就是一个读取配置文件java类。通过@Value注解读取application.properties配置文件中的配置。如下图所示:@Value(“${sourceid}”)读取的就是application.properties配置文件中sourceid对应的值。如果在配置sourceid时需要为其添加默认值,可...
2018-08-30 11:25:12
3240
原创 mock静态方法,错误(requires an argument which has to be 'a method call on a mock')详讲
在前段时间,由于项目改造导致junit出现了一系列的问题。原项目中使用的easyMock无法支持对静态方法的mock,所以又引入了powermock来mock静态方法。下面是我mock静态方法过程中遇到的错误:百度了好久,有很多帖子说的都不全。不是少这个就是少那个。于是我将整个流程记录下来,下面是我的几步走解决方案:一、引入powermock所需的pom依赖:这里只是贴出了po...
2018-08-24 16:28:33
19308
原创 spring-boot项目mapperBean找不到问题解决方案
使用spring-boot集成mybatis时遇到了加载不到mapper类文件bean的情况,网上找了最终终于解决了,我在这里分享一下整个排查的流程并把网上哪些方法都进行一下汇总。错误截图:上面这个截图是maven install的时候报出的,大概意思就是没有可用的ArticleMapper这个bean。上面这个截图是启动boot项目时候报出的,也是说没有可用的ArticleMapper这个bea...
2018-06-22 16:30:00
30246
4
原创 质数判断(你有珠心算,我有珠心算法)
看过《最强大脑》的小伙伴应该都知道珠心算。尤其是在中国队对阵日本队时,那种紧张的气氛婉如世纪大战一触即发。对于大多数和我一样的普通小老百姓而言就只剩下感叹的份了。所谓的珠心算其实就是“珠算”和“心算”的结合体。一个庞大的数字在瞬间就能分辨是否是质数,这种计算量要是让我来,怎么也得废上好几本笔记本了。在电影《异次元杀阵》中也用到了质数判断来作为阻拦主角一行人的难题,没看过的可以去补补哦。那么作为一个...
2018-06-04 17:21:13
751
原创 RSA加密算法
在讲解RSA加密算法之前先了解一下对称加密。对称加密:假设a要传递信息“m”给b。首先a对“m”进行加密:m+e=c,这里的“m”指“明文”、“e”指“密钥”、“c”指“密文”。然后b得到密文“c”就需要进行解密:c-e=m。这样b就可以得到a传递过来的信息。可是密钥“e”的传输就成了问题,窃听者完全可以窃听到密钥使用同样的算法进行解密。于是就诞生了非对称加密。非对称加密:假设a要传递信息“m”给...
2018-04-30 21:03:02
384
原创 Velocity模板引擎的三种基本逻辑结构
在程序诞生之初有一句话也随之诞生“三种基本逻辑结构可以组成任何程序”。这里的三种基本逻辑结构就是:顺序结构、条件结构、循环结构。 确实至今任何复杂程序也没能跳出这三种基本逻辑结构。由于工作原因需要接触Velocity模板引擎。这篇文章讲的就是如何运用Velocity中的三种基本逻辑结构。首先介绍一下Velocity,我就到网上复制粘贴一下了,毕竟网上介绍的已经很好了,省的我自己来又使你感到迷茫。 ...
2018-04-26 17:13:54
914
原创 javaScript设计模式
工厂模式由于ECMAScript中无法像java那样创建类,所以就有了用函数来封装特定接口来完成创建相同的对象。下面是代码实例:function CreatePerson(name,age,sex) { var obj = new Object(); obj.name = name; obj.age = age; obj.sex = sex; obj.sayName ...
2018-03-15 17:19:34
267
原创 插入排序对比冒泡排序
这次讲一个插入排序算法,首先了解一下插入排序的工作原理。假设现在拥有[5,2,8,17,4]这样的一个int数组。那么插入排序就会分成两个序列,一个是有序序列,另一个是无序序列。为了更直观的了解,我把他的每一步排序过程做了如下拆分:(注意:以下排序过程中我会用绿色标注有序序列,红色标注无序序列。)第一次排序默认把第一个元素认为是一个有序序列,其余的看作是无序序列:[5,2,8,17,4]。然后从无...
2018-02-09 13:45:09
396
原创 冒泡排序算法详解
在诸多排序算法当中,冒泡算法应该是最简单入门的。如果让你写出一个对int数组的冒泡排序你会怎么写?应该有不少的人会是如下的答案吧: public static int[] sort2(int[] list){ for (int i=0;i for(int j=0;j if(j>0){ int listE1 = list[j-1
2018-02-02 11:05:26
338
原创 字符串拼接多种实现方式及性能详解
java中字符串拼接有多种方式。但是为了搞清楚它们之间的区别,我做了以下的实验。一、使用“+”符号拼接“+”号拼接是第一时间最能想到的方式。但是它的性能却不如人意,下面是我实验的代码:public static void a(){long starTime = new Date().getTime();String string = new String();
2018-01-09 15:46:18
15939
1
原创 javaScript中的String
String类型String类型是字符串的对象包装类型,它的定义和之前讲过的Boolean、Number类型一样:var stringObject = new String("hello world");String类型都有一个length属性,它可以返回当前字符串拥有的字符个数:alert(stringObject.length);//11这里强调一下中文的问
2017-12-27 14:05:34
285
原创 java跨域解决思路及实现原理二
我的上一篇文章讲了前端跨域的解决方案,这篇文章要讲的是java服务器端解决跨域。先介绍一种最简单的解决方案:springMVC的框架在4.2以上的版本就可以使用注解来实现跨域。我们并不需要去关注什么原理,直接拿来用就可以。在我们的controller文件上添加@CrossOrigin注解,那么这个文件下的请求都支持跨域。如果要控制到某个请求被支持跨域,那么只要为该请求单
2017-11-16 11:02:24
726
原创 java跨域解决思路及实现原理一
最近在做一个项目,过程中碰到了跨域的问题。由于之前没有遇到过,所以一开始并没有把目光锁定在跨域的问题上,由此也浪费了很长时间。在一番折腾之后真相大白的我决定把它给记录下来。首先问题的起因是这样的。由于是前后台分离的架构模式,我们的后台实现单独部署到了一台服务器上。而前台的开发则在各自的电脑上进行,在数据请求的过程中发现并不能取到数据。在确定了各自代码都没有问题之后,把前端的页面及js搬
2017-11-16 11:00:12
1356
原创 javaScript基本包装类型及变量定义的区别
早在我的第一篇文章中就已经讲到了JavaScript中的变量及变量定义。这篇文章将会再拓展一些别的 。在开始之前我想你先回答我:var number1 = new Number(10);var number2 = 10;的区别。如果你没能够回答上来,那么就更应该读读这篇文章。下面开始正文:基本包装类型ECMAScripe提供了3个特殊的引用类型:Bo
2017-11-13 14:29:46
248
原创 javaScript数组中的栈和队列
栈方法栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构。其实通俗的讲就是最新添加的项最早被移除。而栈中项的插入(叫做推入)和移除(叫做弹出),只发生在一个位置——栈的顶部。在ECMAScript中数组也提供了让它类似于其他数据结构的方法。具体来说,数组可以表现得像栈一样。还是举例子吧。ECMAScript为数组专门提供了push()和pop
2017-11-09 14:58:10
288
原创 Linux安装Tomcat及JDK
操作linux是每个开发者必备的技能,前些日子给linux安装Tomcat及JDK时就遇到了一个很容易忽视的小问题。在这里我会一步一步的讲解如何安装。首先我们需要到官网上下载linux版本的JDK。官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html进入官网后选择自己想要安装的
2017-11-02 15:30:23
392
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人