自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhoujian_Liu的博客

永远相信美好的事情即将发生!

  • 博客(78)
  • 收藏
  • 关注

原创 Shell脚本入门(二)cut&sed&awk&sort

目录1、函数2、Shell工具之cut3、shell工具之sed4、shell工具之awk5、shell工具之sort1、函数(一)系统函数①basename: 将文件全路径中最后一个/(包括/)前的字符串去掉,然后将字符串显示出来。语法: basename [pathname] [suffix]其中pathname为文件全路径,[suffix]为文件后缀,...

2019-09-01 22:03:09 379

原创 Shell脚本入门(一)基础语法

目录1、Shell解析器2、变量3、运算符4、条件判断5、流程控制6、read函数1、Shell解析器默认在CentOS使用的是bash2、变量2.1 系统变量$USER、$SHELL、$HOME、$PWD2.2 自定义变量①定义变量: 变量=值 注意:等号两边不能有空格。②撤销变量unset 变量③声明静态变...

2019-09-01 12:28:13 395

原创 MyBatis一对一、一对多、多对多映射查询

MyBatis在映射文件中加载关联关系对象主要通过两种方式:嵌套查询和嵌套结果。嵌套查询是指通过执行另外一条SQL映射语句来返回预期的复杂类型;嵌套结果是使用嵌套结果映射来处理重复的联合结果的子集;1、一对一关系使用<resultMap>中的<association>子元素该元素中包含以下属性:property:指定映射到的实体类对象属性,与表字段一一对...

2019-07-26 22:58:14 766

原创 SpringCloud笔记(七)natapp内网穿透工具&webhook配置遇到的问题

本篇博客接着上篇博客继续介绍,上次实现了SpringCloud Bus+RabbitMQ进行配置刷新,但是要通过POSTMAN工具进行手动发送。其实在github或者码云中提供了webhook这个工具,它可以在你push代码后自动回调一个URL,因此我们可以直接将刷新地址配置在webhook中。webhook中的地址需要一个公网地址才行,因此可以采用natapp内网穿透工具,将我们本地的地址映射为...

2019-07-14 09:54:10 1197 1

原创 SpringCloud笔记(六)SpringCloud+RabbitMQ消息总线刷新配置【Greenwich.SR1版本】

在之前的博客中介绍了一种手动刷新配置文件的方式:SpringCloud笔记(五)分布式配置中心,但是这种方式有严重的缺陷,就是当配置文件更新时,所有的客户端都必须手动POST发送actuator/refresh请求才能获取到最新的配置文件,这样未免也太麻烦了。SpringCloud Bus可以通过整合Kafka或RabbitMQ,通过发布/订阅模式,刷新配置。当Git中的配置文件更改后,只需要在C...

2019-07-12 22:28:36 398

原创 SpringBoot2.x整合RabbitMQ

在之前的博客中https://blog.csdn.net/zhoujian_Liu/article/details/95197408,讲解了一下RabbitMQ的核心概念及如何使用web页面手动创建队列、交换器及绑定规则,在本文中将介绍SpringBoot与RabbitMQ的整合方法,使用Java代码的方式创建交换器、队列及绑定关系,并使用自定义配置替代RabbitMQ中默认JDK序列化方式,将结...

2019-07-09 20:09:57 1141

原创 RabbitMQ快速入门(一)核心概念及web界面操作

这段时间在学习MQ相关的知识,因此在这里对学习过程进行一下记录。本文主要记录了RabbitMQ的相关概念;web界面创建交换器及队列的方法,并演示如何将交换器和队列进行绑定。目录1、相关概念2、RabbitMQ的安装3、RabbitMQ运行机制4、如何使用web界面创建交换机及队列,并将队列和交换机绑定1、相关概念RabbitMQ是一个由erlang开发的AMQP...

2019-07-09 16:38:04 2859

原创 SpringCloud笔记(五)分布式配置中心

目录1、搭建远程Git仓库2、搭建注册中心Eureka Server3、搭建Config Server4、测试Config Server是否搭建成功5、搭建Config Client6、配置的动态刷新在本文中,将会介绍如何使用SpringCloud+Git搭建一个分布式配置中心。拓扑图如下:(图片来自《SpringCloud微服务实战》)1、搭建远程Git仓...

2019-07-08 20:03:15 244

原创 zookeeper客户端(二)zkClient的使用

原生Zookeeper API存在的弊端:Zookeeper API使用起来比较繁琐,并且zookeeper的watcher是一次性的,如果要基于watcher实现发布/订阅模式需要进行额外的编码,以实现每次watcher失效后重新注册,将一次性的订阅包装成持久订阅。 Zookeeper API接口中,节点保存数据默认为二进制byte数组,若想直接保存对象类型的数据,需要将对象转换为二进制类...

2019-06-23 12:44:41 1005

原创 zookeeper客户端(一)原生Zookeeper API的使用

目录1、zookeeper自带的zkCli客户端命令行2、使用zookeeper原生API1、zookeeper自带的zkCli客户端命令行当进入zkCli的命令行,可以输入help显示出所有操作的命令,如下表: 命令基本语法 功能描述 help 显示所有操作命令 ls path [wat...

2019-06-22 20:15:50 301

原创 Zookeeper入门(一)使用场景与环境搭建

(一)概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。Zookeeper的核心类似一个精简...

2019-06-22 18:53:18 211

原创 thymeleaf中使用th:onclick出现的问题

在springboot2.x的环境中使用thymeleaf的onclick时,若安照如下方式使用onclick,就会报错TemplateProcessingException异常。 &lt;tr th:each="region, regionStat: ${regions}"&gt; &lt;a th:attr="data-bind=${region.enName}" href="...

2019-02-11 22:01:09 7622 4

原创 SpringBoot2.0整合Redis作为缓存

第一步:安装Redis在这里使用Docker安装Redis,Docker相关内容可以参考Docker快速入门。1、下载redis镜像:可以使用Docker中国记性镜像加速(https://www.docker-cn.com/registry-mirror)。docker pull registry.docker-cn.com/library/redis2、运行镜像 dock...

2019-01-23 18:02:14 5430

原创 SpringBoot2.0-缓存注解的使用及缓存原理

在SpringBoot中,当我们需要使用缓存时:第一步:在pom.xml文件中导入缓存依赖即可:&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-cache&lt;/artifactId&gt;...

2019-01-23 16:18:51 2937 1

原创 SpringBoot整合JPA

SpringBoot整合Mybatis+PageHeplerSpringBoot整合JDBC+DruidGithub:https://github.com/liuzhoujian/springboot-jdbc-mysql-jpa1、pom.xml &lt;dependency&gt; &lt;groupId&gt;org.springfra...

2019-01-22 21:10:52 177

原创 SpringBoot整合Mybatis+PageHelper

1、导入pom依赖 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-jdbc&lt;/artifactId&gt; &lt;/depend...

2019-01-22 20:55:01 235

原创 SpringBoot整合JDBC+Druid

1、导入依赖//springboot-web模块&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;&lt;/dependency&gt;//JDBC&...

2019-01-22 20:23:06 1543

原创 Docker简介及快速入门

Docker简介:Docker 是一个开源的应用容器引擎,基于 Go语言并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker优点:简化程序、节省开支。...

2019-01-19 20:45:57 268

原创 SpringBoot配置嵌入式Servlet容器

 1、定制和修改Servlet容器的相关配置第一种方法直接修改application.yml配置文件server: port: 8082 tomcat: uri-encoding: UTF-8 servlet: context-path: /第二种方法:在springboot2.x中,编写配置类,注入ConfigurableServletWebServ...

2019-01-19 14:08:09 276

原创 SpringBoot中的国际化

 目录1、编写国际化配置文件2、在application.yml中指定读取的国际化配置文件:3、login.html4、点击中文或者English切换语言5、登录验证1、编写国际化配置文件国际化配置文件默认文件名称为:messages.properties,若是自己起的其他名称,则需要在application.yml中指定文件:如:在resources目录下创建...

2019-01-17 22:29:34 1623 3

原创 SpringBoot中thymeleaf的使用

 1、在pom.xml中导入thymeleaf&lt;!--引入thymeleaf--&gt;&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;/artifactId&gt;...

2019-01-17 20:06:56 401

原创 SpringBoot对静态资源的映射规则

1、所有的webjars都去 classpath:/META-INF/resources/webjars/ 找资源;webjars:以jar包的方式引入静态资源,可以使用Maven统一进行管理。webjars官网:https://www.webjars.org/,如下是一些webjars(jquery、bootstrap)等。点击Maven,可以获取对应的坐标。 &l...

2019-01-17 19:48:46 681

原创 SpringBoot配置文件值注入

springboot配置文件值注入有两种:① @Value② 将配置文件和Bean进行映射,使用 @ConfigurationProperties注入1、导入pom文件  &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; ...

2019-01-16 21:27:35 792 1

原创 Springboot整合分页插件报错:ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyRe。。。

我使用的是springboot 2.1.1,springboot集成pagehelper插件版本: &lt;!-- Spring Boot集成 pagehelper--&gt; &lt;dependency&gt; &lt;groupId&gt;com.github.pagehelper&lt;/groupId&gt; ...

2019-01-11 15:57:21 874

原创 springboot连接mysql8.x: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents

使用SpringBoot2.0连接mysql8.x时出现如下错误:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDB...

2019-01-11 15:52:58 258

原创 Git使用入门(二)远程仓库

目录1、向远程仓库提交代码2、从远程仓库获取代码1、向远程仓库提交代码前提:注册有Github或者码云的账号①在码云或者Github上新建仓库将上面添加好之后,复制仓库地址使用如下命令,将项目提交到Github或者码云中git init 初始化项目git add . git commit -m “备注git push 仓库地址 分支名(maste...

2018-12-23 15:00:11 232

原创 Git使用入门(一)基本操作

目录1、git下载安装2、设置用户名和邮箱3、创建一个目录,当做git仓库,并进行初始化4、git提交操作5、git撤销操作6、git删除操作7、git文件重命名8、git分支操作1、git下载安装 下载地址:https://git-scm.com/downloads,选择自己所需要的版本下载安装2、设置用户名和邮箱在安装好git后,运行Gi...

2018-12-23 14:45:40 236

原创 SpringCloud笔记(四)使用Consul代替Eureka作为注册中心

目录1、Consul简介2、下载3、搭建环境3.1 consul-member项目搭建3.2 consul-order项目搭建4、consul注册中心原理1、Consul简介Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一...

2018-12-22 17:33:39 2209

原创 SpringCloud笔记(三)使用DiscoveryClient手动实现客户端负载均衡

1、什么是客户端负载均衡(Ribbon)?Ribbon是从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地,然后在本地实现轮训负载均衡策略。既在客户端实现负载均衡。2、什么是服务端负载均衡(Nginx)? Nginx是客户端所有请求统一交给Nginx,由Nginx进行实现负载均衡请求转发,属于服务器端负载均衡。 即请求由Nginx服务器端进行转发。3、两者的应用场景?...

2018-12-22 13:06:06 4423 4

原创 SpringCloud笔记(二)高可用注册中心的实现

目录1、要实现的拓扑2、eureka-sever01和eureka-sever023、启动服务提供者3.1 pom.xml3.2 application.yml3.3 业务类4、启动服务消费者4.1 pom.xml 与服务提供者相同4.2 application.yml4.3 controller4.4 启动类5、模拟宕机情况     在微服...

2018-12-22 00:46:28 295

原创 SpringCloud笔记(一)服务注册与服务发现

目录1、Spring Cloud概述2、环境搭建2.1 搭建注册中心eureka-server pom.xmlapplication.yml启动类:2.2 注册服务提供者springcloud-producerpom.xmlapplication.ymlController:启动类:2.3 服务消费者 SpringCloud-Consumerpo...

2018-12-21 23:24:28 547

原创 activemq的入门及使用方法

1、什么是activemqActiveMQ 是Apache出品,最流行的、能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现。主要特点:1. 多种语言和协议编写客户端。2. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去。3. 支持多种传送协议:in-VM,TCP,SSL,...

2018-12-05 17:45:40 670

原创 Solr学习(三)SolrCloud集群搭建与创建Collection

1、什么是SolrCloudSolrCloud是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求。SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper...

2018-12-02 23:58:46 1434

原创 Solr学习(二)SolrJ的增删改查操作

public class SolrTest { /** * 添加文档 * @throws Exception */ @Test public void addDocument() throws Exception { // 第一步:把solrJ的jar包添加到工程中。 // 第二步:创建一个SolrServer...

2018-12-01 16:34:50 762

原创 Solr学习(一)Solr服务器的搭建与使用

 1、什么是solrSolr是apache的顶级开源项目,它是使用java开发 ,基于lucene的全文检索服务器。Solr比lucene提供了更多的查询语句,而且它可扩展、可配置,同时它对lucene的性能进行了优化。Solr是如何实现全文检索的呢?索引流程:solr客户端(浏览器、java程序)可以向solr服务端发送POST请求,请求内容是包含Field等信息的一个xml文档...

2018-12-01 16:29:15 616

原创 Redis教程(十二)为集群设置密码

设置密码两种方式:1、在redis的每个结点的配置文件redis.conf中添加    masterauth “自己的密码”    requirepass “自己的密码”缺点:需要重启整个集群才能生效2、通过客户端设置(推荐)./redis-cli -c -p 7001  ...&gt;config set masterauth 123&gt;config set ...

2018-11-28 14:14:01 1158

原创 Redis教程(十一)创建redis集群出现的问题

在执行./redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005  127.0.0.1:7006时出现如下错误:查询资料后,是因为centos7默认安装的ruby为2.0.0,因为版本太低,才出现上面的错误,因此需要升级。 ...

2018-11-27 20:05:26 305

原创 Mysatis配置整合PageHelper出现的问题

在进行分页时,在Mybatis的SqlMapConfig.xml可以配置如下:&lt;?xml version="1.0" encoding="UTF-8" ?&gt;&lt;!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-con...

2018-11-25 22:57:03 245

原创 IDEA去掉@Autowired注入bean时报错

今天在搭建项目网上商城项目时,使用dubbo引用service服务,由于在@Autowired service的时候总是报错,以为dubbo配置的时候出错,结果运行的时候并没有发现异常,之后在网上查了一下,原因时IDEA自身检查级别的原因,因此可以在IDEA中设置检查级别。...

2018-11-25 21:54:20 1593

原创 JVM之运行时数据区

目录程序计数器Java虚拟机栈本地方法栈堆方法区问题:什么时候进行垃圾回收?哪些内存需要回收?哪些对象可以进入老年代?垃圾回收算法?Java运行时数据区结构如下:存储数据:堆和方法区存储指令:程序计数器、虚拟机栈、本地方法栈程序计数器线程私有。作用:记录当前线程所执行字节码的行号。原因:在多线程情况下,由于是采用时间片轮转的执...

2018-08-22 22:11:41 225

空空如也

空空如也

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

TA关注的人

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