自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

椭圆的博客

程序狗

  • 博客(49)
  • 资源 (12)
  • 收藏
  • 关注

原创 Springboot2.X + WebSocket实时推送

Springboot2.X + WebSocket实时推送pom加入依赖WebSocketConfigWebSocketInterceptor拦截器MyWebSocketHandler处理器MessageAlarmPush消息推送注意:pom加入依赖 <!-- websocket --> <dependency> <groupId>org.sp...

2019-06-28 15:19:04 4718 2

转载 JVM结构、GC工作机制详解

在网上看到一篇很好的JVM结构、GC工作机制的文章,特此转载,以供学习:转载地址,点击进入

2017-11-20 15:12:11 302

原创 多线程注意事项

1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:(1)发挥多核CPU的优势随着工业的进步,现在的笔记本、台式机乃至商用的应用服务器至少也都是双核的,

2017-11-17 16:17:41 779

原创 解析Tomcat内部结构和请求过程

Tomcat   Tomcat的组织结构     由Server.xml的结构看Tomcat的体系结构     Tomca的两大组件:Connecter和Container       Connecter组件       Container组件     Tomcat 中其它组件   Tomcat Server处理一个HTTP请求的过程     Tomcat Server处理一个HTT

2017-11-15 11:22:53 446

原创 Linux系统postgresql及tomcat安装

一、安装postgresql数据库 1.安装存储库RPM: yum install https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-2.noarch.rpm2.安装客户端软件包: yum install postgresql93 yum install postg

2017-10-31 10:56:47 776 1

原创 SSH从远程服务器备份还原文件

ExecuteBackupAndRestore.Javapackage cn.easted.edm.web.task;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;

2017-10-19 14:19:59 1206

原创 springmvc+mybatis+shiro MD5加密匹配&登录失败超次数锁定帐号

shiro的身份认证的流程,大致是这样的:当我们调用subject.login(token)的时候,首先这次身份认证会委托给Security Manager,而Security Manager又会委托给Authenticator,接着Authenticator会把传过来的token再交给我们自己注入的Realm进行数据匹配从而完成整个认证。如果不太了解这个流程建议再仔细读一下官方提供的Authent

2017-10-13 18:00:27 1868

原创 shiro并发登录人数控制

在某些项目中可能会遇到如每个账户同时只能有一个人登录或几个人同时登录,如果同时有多人登录:要么不让后者登录;要么踢出前者登录(强制退出)。比如spring security就直接提供了相应的功能;Shiro的话没有提供默认实现,不过可以很容易的在Shiro中加入这个功能。 首先来看看如何配置使用(spring-shiro.xml)<!-- session 校验单个用户是否多次登录 -->

2017-10-10 09:43:53 920

原创 spring-shiro实现角色(roles)自定义Filter----配置多个角色的或关系

roles:正常情况下URL路径的拦截设置如下: /admins/user/**=roles[admin] 参数可以写多个,多个时必须加上引号,并且参数之间用逗号分割,当有多个参数时,例如/admins/user/**=roles[“admin,guest”] 但是这个设置方法是需要每个参数满足才算通过,相当于hasAllRoles()方法。也就是我们的角色必须同时拥有admi

2017-10-09 11:47:52 7693 1

原创 SpringCloud: 断路器聚合监控(Hystrix Turbine)

本文的的工程栗子,来源于该文章的栗子,在它的基础上进行改造。开始改造service-hi在pom的工程文件引入相应的依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId>

2017-09-20 15:19:51 417

原创 SpringCloud: docker部署spring cloud项目

docker简介Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 Docker通常用于如下场景:web应用的自动化打包和发布;自动化测试和持续集成、发布;在服务型环境中部署和调整数据库或其他的后台

2017-09-19 16:38:12 1412

原创 SpringCloud: 服务链路追踪(Spring Cloud Sleuth)

这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。简介Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可。服务追踪分析微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上

2017-09-18 18:04:41 640

原创 SpringCloud: 高可用的分布式配置中心(Spring Cloud Config)

上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下: (转载出处:http://blog.csdn.net/forezp/article/details/70037513)#####准备工作继续使用上一篇文章的工程,创建一个eureka-serve

2017-09-18 15:46:41 412

原创 SpringCloud: 分布式配置中心(Spring Cloud Config)

简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。构建

2017-09-18 14:59:22 381

原创 SpringCloud: 路由网关(zuul)

在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图: (转载http://blog.csdn.net/forezp/article/details/69939114)在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过

2017-09-18 11:21:12 711

原创 SpringCloud: 服务消费者(Feign)

上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eur

2017-09-18 11:05:31 778

原创 使用Jersey框架构建RestfulWeb服务(服务端+客户端)

一、环境jdk8 + Eclipse + Tomcat8.5 + jersey1.3二、服务端1、 新建Web项目,导入jersey等相应的jar包; 2、 新建User、UserDao、UserService这三个类,代码如下:user类package com.jersey.client;import java.io.Serializable;import javax.xml.bind.ann

2017-09-17 16:11:53 988 2

原创 初识RabbitMQ

下载及安装首先去官网下载最新版本:http://www.rabbitmq.com/download.html 当前最新版是3.5.6,我需要在CentOS上安装,所以下载了那个RPM包。安装过程就非常方便了,先安装一个erlang,我是直接在rabbitmq官网上下载到合适的RPM包,http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el6

2017-09-15 16:48:40 251

原创 springBoot动态加载资源文件

在实际项目中资源信息如果能够动态获取在修改线上产品配置时极其方便,下面来展示一个加载动态获取资源的案例,而不是加载写死的properties文件信息。首先构造PropertySource,然后将其添加到Enviroment中。构造DynamicLoadPropertySourcepackage com.wangh.test;import java.io.InputStream;import jav

2017-09-14 16:38:30 9724

原创 SpringBoot配置多数据源(结合Druid)

在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,下面介绍多数据源的配置方式。主要目录结构:主要关注红色方框中与本节相关的类。 pom.xml<?xml version="1.0" encoding="UTF-

2017-09-13 14:15:34 8694 1

转载 使用JWT和Spring Security保护REST API

通常情况下,把API直接暴露出去是风险很大的,不说别的,直接被机器攻击就喝一壶的。那么一般来说,对API要划分出一定的权限级别,然后做一个用户的鉴权,依据鉴权结果给予用户开放对应的API。目前,比较主流的方案有几种: 用户名和密码鉴权,使用Session保存用户鉴权结果。 使用OAuth进行鉴权(其实OAuth也是一种基于Token的鉴权,只是没有规定Token的生成方式)

2017-09-07 11:56:22 1463

原创 SpringCloud:断路器(Hystrix)

在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。为了保证其高可用,单个服务又必须集群部署。由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务累计,导致服务瘫痪,甚至导致服务“雪崩”。为了解决这个问题,就出现断路器模型。断路器简介Netflix已经创建了一个名为Hy

2017-09-05 10:07:22 226

原创 SpringCloud: 服务消费者(rest+ribbon)

在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。一、ribbon简介ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。Feign默认

2017-08-30 17:58:22 247

原创 SpringCloud : 服务的注册与发现(Eureka)

一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解。二、创建服务注册中心2.1 首先创建一个maven主工

2017-08-30 17:13:01 351

原创 Cento系统下docker的安装与卸载

Docker简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。 前提首先,你的Centos的系统一定要是6

2017-08-17 19:00:32 16624

原创 SpringBoot中使用数据缓存

在实际开发中,对于要反复读写的数据,最好的处理方式是将之在内存中缓存一份,频繁的数据库访问会造成程序效率低下,同时内存的读写速度本身就要强于硬盘。Spring在这一方面给我们提供了诸多的处理手段,而Spring Boot又将这些处理方式进一步简化,接下来我们就来看看如何在Spring Boot中解决数据缓存问题。标题使用MySQL,在pom.xml中添加数据库驱动。 pom.xml<?xml ve

2017-07-21 17:19:18 400

原创 SpringBoot中使用Spring Security实现权限控制

Spring Security,这是一个专门针对基于Spring的项目的安全框架,它主要是利用了AOP来实现的。以前在Spring框架中使用Spring Security需要我们进行大量的XML配置,但是,Spring Boot针对Spring Security也提供了自动配置的功能,这些默认的自动配置极大的简化了我们的开发工作,我们今天就来看看这个吧。创建Project并添加相关依赖数据库使用My

2017-07-21 17:02:52 20621 10

原创 SpringBoot结合Redis简单应用

1.docker 下载Redis镜像本例docker安装在Windows环境下。docker pull redis2.运行docker容器docker run -d -p 6379:6379 redis在virtualBox配置端口映射。 3.下载RedisClient管理工具自行下载或从本博客中下载。 4.新建springBoot项目pom.xml<?xml version="1.0" en

2017-07-21 11:26:45 369

原创 SpringBoot结合MongoDB简单应用

1.docker安装MongoDB本案例在windows环境下安装。 命令:docker pull mongodb2.运行docker容器docker run -d -p 27017:27017 mongo打开virtualBox进行端口映射。如图所示: 3. 下载安装mongoDB数据库管理软件Robomongo 4.搭建springBoot项目pom.xml<?xml version="1.

2017-07-20 19:18:23 368

原创 springBoot自定义Respository实现(结合docker)

工程结构 需求: 现实现一个自定义模糊查询,对任意实体对象进行查询,值为字符串类型时就模糊查询,其他类型等于查询。1.安装docker安装步骤:略。 本例安装在windows环境下。2.下载oracle-xe镜像命令:docker pull wnameless/oracle-xe-11g下载后进行查看 命令:docker images3.启动oracle-xe镜像docker run -d

2017-07-20 10:41:36 779

原创 Java反射生成对象注入spring(结合工厂模式)

利用工厂模式进行代码扩展,而不用修改原来代码。在配置文件配置要生成的类,通过反射交由工厂生成对象,并将此对象交给spring管理,在项目中遇到此问题并予以解决,做一下记录。package cn.easted.edm.core.factory.dao;import java.util.Map;import cn.easted.edm.core.factory.Operate;import cn.ea

2017-07-19 15:23:53 2147 1

原创 打包oracle的JDBC驱动到maven仓库

1.首先下载ojdbc6.jar到本地。2.在控制台执行下面命令:mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=C:\ojdbc6.jar -DgeneratePom=true其中:-Dfile=C:\ojdbc6.jar 要

2017-07-14 16:51:22 603

原创 SpringBoot之WebSocket广播式

广播式是指服务端有消息时会将消息发送给所有连接了当前endpoint的浏览器。1.首先新建SpringBoot项目略2.引入sockjs.min.js、stomp.min.js、jquery.min.js可自行下载。下载后放在src/main/resources/static下。3. 配置webSocketpackage com.wangh.sringboot_websocket;import or

2017-07-13 17:02:32 842

原创 SpringBoot中SSL配置

1.生成证书 这时在当前用户目录下生成了一个 .keystore文件,这就是我们要用的证书。2.SpringBoot配置SSL在src/main/resources/static下添加一个index.html,将 .keystore文件复制到项目的根目录,然后在application.properties下添加以下SSL配置:server.ssl.key-store=.keystore serv

2017-07-13 14:15:57 491

原创 MyBatis拦截器分页

拦截器分页的原理 分页拦截器,用于拦截需要进行分页查询的操作,然后对其进行分页处理。 利用拦截器实现Mybatis分页的原理: 要利用JDBC对数据库进行操作就必须要有一个对应的Statement对象 ,Mybatis在执行Sql语句前就会产生一个包含Sql语句的Statement对象,而且对应的Sql语句 是在Statement之前产生的,所以我们就可以在它生成Statement之前对用来生

2017-07-10 11:43:27 330

原创 FileUpload上传文件及读取 .ini 文件内容

package cn.easted.edm.core.utils;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FilenameFilter;import java.io.

2017-06-28 10:36:49 806

原创 SpringBoot单元测试

package com.wangh.test;import javax.annotation.Resource;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;impo

2017-06-15 11:02:27 204

原创 SpringBoot异常处理

ExceptionHandlepackage com.wangh.exception;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.w

2017-06-15 09:29:56 248

原创 SpringBoot添加AOP处理请求

pom.xml<!-- spring-boot-starter-aop --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>HttpAspect 类packag

2017-06-14 17:35:39 723

原创 SpringBoot表单验证

Girl实体类package com.wangh.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.validation.constraints.Min;@Entitypublic class Girl {

2017-06-14 16:53:40 1134

mybaties.rar

springboot集成mybaties,包括分页,自定义sql,generator字段生成代码(每次生产会覆盖旧代码,不会覆盖自定义sql)

2019-09-04

TX-LCN-5.0.2

LCN分布式事务处理。TX-LCN 主要有两个模块,Tx-Client(TC) Tx-Manager(TM). TC作为微服务下的依赖,TM是独立的服务。

2019-04-18

postgresql及tomcat安装文档

Linux系统下postgresql及tomcat,jdk安装文档。适合项目搭建。

2017-10-31

JerseyClient实例

com.sun.Jersey完整实例。Tomcat8.5+jerseyClient。包括客户端服务端程序。 com.sun.Jersey完整实例。Tomcat8.5+jerseyClient。包括客户端服务端程序。

2017-09-17

springBoot详解

springBoot

2017-07-21

RedisClient

Redis客户端

2017-07-21

MongoDB数据库管理工具_robomongo

MongoDB数据库管理工具

2017-07-20

boot2docker.iso v17.6

boot2docker.iso v17.6

2017-07-14

sockjs.min.js

springboot webSocket

2017-07-14

springBooot

springboot

2017-06-15

redis+spring+maven

redis

2017-06-15

mongodb+spring+maven环境搭建

基于mongodb+springmvc+maven环境搭建

2017-06-08

空空如也

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

TA关注的人

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