自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

_hello_world_的博客

为了自己,照亮路人。

  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

原创 SpringBoot 整合(六)Security & Oauth2.0(完整篇)

1. 快速实现篇(实现最基本的登录):SpringSecurity 快速实现项目2. 企业级封装篇我的 Spring Security 文集 SpringBoot 整合 Security(一)实现用户认证并判断返回json还是viewSpringBoot 整合 Security(二)实现验证码登录SpringBoot 整合 oauth2(三)实现 token 认证S...

2018-08-16 11:32:54 6852

原创 SpringBoot 整合(五)Swagger2

日常我们开发完后端接口,如果是返回restful,写API文档是免不了的,Swagger可以帮我们解决大多数问题(自动生成API文档)。他会帮我们生成一个html页面,大概就是这个样子。 好了,开始正文,如果你觉得有需要的话,往下看。1. 添加依赖<dependency> <groupId>io.springfox</grou...

2018-08-16 11:32:30 282

原创 spring boot2 整合(四)定时任务Scheduled || Quartz并持久化

在进入正文前,我想把所有java可以实现的定时任务介绍一下,其实这个也是底层实现思路。本教程大概目录: 1. 线程等待实现定时任务 2. 用Timer实现定时任务 3. 用ScheduledExecutorService实现定时任务 4. Quartz 定时任务框架单机应用 5. spingboot2 整合 Scheduled 6. spingboot2 整合 Quartz...

2018-08-16 11:32:10 3276

原创 spring boot2 整合(三)JOOQ工具

先来介绍下jooqjOOQ是一个基于Java编写SQL的工具包,具有:简单、轻量、函数式编程写SQL等独特优势,非常适合敏捷快速迭代开发。SQL语句:SELECT AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, COUNT(*) FROM AUTHOR JOIN BOOK ON AUTHOR.ID = BOOK.AUTHOR_ID W...

2018-08-16 11:31:49 2359

原创 spring boot2 整合(一续)Druid数据库连接池和FastJson

本项目教程环境建立在spring boot2 整合(一)Mybatis (特别完整!) 的基础上。1. Druid配置1.1 修改pom.xml <!-- alibaba的druid数据库连接池 --> <dependency> <groupId>com.alibaba</gr...

2018-08-16 11:31:34 1228

原创 spring boot2 整合(二)JPA(特别完整!)

JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA 的目标之一是制定一个可以由很多供应商实现的API,并且开发人员可以编码来实现该API,而不是使用私有供应商特有的API。 JPA是需要Provider来实现其功能的,Hibernate就是JPA Provide...

2018-08-16 11:31:16 5745

原创 使用WireMock 伪造 Rest 服务

WireMock 是基于 HTTP 的模拟器。它具备 HTTP 响应存根、请求验证、代理/拦截、记录和回放功能。 当开发人员的开发进度不一致时,可以依赖 WireMock 构建的接口,模拟不同请求与响应,从而避某一模块的开发进度。官方文档:http://wiremock.org/docs/running-standalone/1. 搭建wireMock单机服务1....

2018-08-16 11:30:40 2238

原创 设计模式快速学习(四)建造者模式

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。优点建造者独立,易扩展。便于控制细节风险。缺点产品必须有共同点,范围有限制。如内部变化复杂,会有很多的建造类。角色介绍...

2018-08-16 10:30:06 95

原创 设计模式快速学习(三)单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。优点1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建...

2018-08-16 10:29:36 92

原创 设计模式快速学习(二)抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。直接上demo.先代码,后介绍。如果在之前你没有看过工厂模式,请坐下面的时光机传送,不光是思想基础,主要是演变的过程要知道。 设计模式快速学习(一)工厂模式1. 编写接口Shape...

2018-08-15 21:13:07 92

原创 设计模式快速学习(一)工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。我们熟悉的Spring 的 bean 工厂等。直接上demo.先代码,后介绍。1. 编写接口ShapeShape .java/** * 一个接口:关于形状 * Created by Fant.J. */public...

2018-08-15 21:12:48 82

原创 JVM--方法调用

方法调用不是方法执行,方法调用是让jvm确定调用哪个方法,所以,程序运行时的它是最普遍、最频繁的操作。jvm需要在类加载期间甚至运行期间才能确定方法的直接引用。解析所有方法在Class文件都是一个常量池中的符号引用,类加载的解析阶段会将其转换成直接引用,这种解析的前提是:要保证这个方法在运行期是不可变的。这类方法的调用称为解析。jvm提供了5条方法调用字节码指令:[ ...

2018-08-15 21:11:59 148

原创 JVM运行时栈帧结构

栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区的虚拟机栈(Virtual Machine Stack)的栈元素。栈帧存储了方法的局部变量表,操作数栈,动态连接和方法返回地址等信息。第一个方法从调用开始到执行完成,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。每一个栈帧都包括了局部变量表,操作数栈,动态连接,方法返回地址和一些额外...

2018-08-15 21:11:43 597

原创 SpringBoot 缓存&资源优化

页面缓存1. freemarker 的页面静态化application.properties 配置实现浏览器缓存# SPRING RESOURCES HANDLING ([ResourceProperties](https://github.com/spring-projects/spring-boot/tree/v1.5.4.RELEASE/spring-boot-autoc...

2018-08-15 21:09:20 936

原创 如何使用JPA的UUID主键生成策略

这篇文章只写给主键用uuid并且用jpa的小伙伴。1. 数据实体类@Entity@Table(name = "ip_user")@GenericGenerator(name = "jpa-uuid", strategy = "uuid")public class User implements Serializable { @Id @Generate...

2018-08-15 21:09:07 11923 2

原创 SpringBoot 整合JPA | PageHelper 的分页最简实现

JPA又自己的Pageable来帮助我们实现分页,Mybatis有PageHelper帮我们实现分页,下面直接贴代码。1. 用JPA实现分页1.1 pom添加依赖 <dependency> <groupId>org.springframework.boot</groupId> ...

2018-08-15 21:08:50 1486

原创 Jenkins 教程(二)实现本地资源ssh上传

在教程一中我们只实现了在jenkins容器中的打包和结果通知,这节教程将用一个ssh工具将我们package完的项目上传到我们的服务器中。1. 安装插件Publish over SSH 完了点击直接安装2. 插件的系统配置配置完成后测试一下:3. 插件的工程配置最后一个框是在服务器运行什么脚本。4. 立即构建...

2018-08-15 21:08:32 1962 1

原创 Jenkins 教程(一)实现自动化打包及邮件通知

个人不喜欢装腔作势一堆专业术语放上去,让大多数人看不懂来提升逼格(所谓的专家),所以我简单的介绍jenkins是干啥的。本文使用jenkins,就是让它把git仓库里的东西取出来,然后在jenkins容器中编译打包,然后执行脚本,可以是运行jar等,根据自身情况量身定制脚本。下载官方下载链接:https://jenkins.io/download/windows可以直接下载...

2018-08-15 21:08:08 440

原创 2018最新(最全)手机号正则

/** * Created by Fant.J. */public class CheckFormat { public static boolean isEmail(String email){ String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\....

2018-08-14 13:50:41 8616

原创 Json 逆向生成 javaBean

我的开发环境:IDEA+maven+jdk1.81.下载idea插件GsonFormat2. 添加依赖该插件支持的json序列化工具: 我在这里用阿里的fastJson 依赖,想用gson、jackson的都可以,插件都支持 <dependency> <groupId>com.alibaba</...

2018-08-14 13:50:20 1506

原创 SpringBoot 整合 Dubbo&Zookeeper 实现分布式

1. 安装 Zookeeper 环境Zookeeper 环境搭建&zk命令详解2. 服务提供者因为用了父工程的版本管理,所以这里没有显示版本,我把用到的版本给大家分享下。jdk 1.8springboot 1.5.8spring-boot-starter-dubbo 1.0.0闲余之际我会把demo源码分享。2.1 pom依赖 <...

2018-08-14 13:50:03 1109 1

原创 SpringBoot 整合(五)Swagger2

日常我们开发完后端接口,如果是返回restful,写API文档是免不了的,Swagger可以帮我们解决大多数问题(自动生成API文档)。他会帮我们生成一个html页面,大概就是这个样子。 好了,开始正文,如果你觉得有需要的话,往下看。1. 添加依赖<dependency> <groupId>io.springfox</grou...

2018-08-14 13:49:18 47

原创 SpringBoot 自定义线程池

我们都知道spring只是为我们简单的处理线程池,每次用到线程总会new 一个新的线程,效率不高,所以我们需要自定义一个线程池。本教程目录: 1. 自定义线程池 2. 配置spring默认的线程池1. 自定义线程池1.1 修改application.propertiestask.pool.corePoolSize=20task.pool.maxPoolSi...

2018-08-14 13:48:35 3744

原创 SpringBoot 并发编程学习历程(绝对的干货)

如果一个项目总用单线程来跑,难免会遇到一些性能问题,所以再开发中,我们应该尽量适量的使用多线程(在保证线程安全的情况下)。本教程大概目录: 1. 模拟单线程情节 2. 用Callable实现 并发编程 3. 用DeferedResult实现异步处理模拟单线程情节/** * Created by Fant.J. */@RestController@Slf4j...

2018-08-14 13:48:20 362 1

原创 SpringBoot 文件上传/下载

有啥不懂的或者出错的可以在下面留言。1. 文件上传 //上传路径 String folder = "C:\\code\\springboot-springsecurity\\security-demo\\src\\main\\java\\com\\laojiao\\xxx\\controller"; @PostMapping public Strin...

2018-08-14 13:48:06 444

原创 SpringBoot 手写切片/面向切面编程

如何手写一个切片呢。假设我现在需要一个计时切片,我想把每一次调用服务锁花费的时间打印到控制台,该怎么做呢?拦截机制有三种:1. 过滤器(Filter)能拿到http请求,但是拿不到处理请求方法的信息。2. 拦截器(Interceptor)既能拿到http请求信息,也能拿到处理请求方法的信息,但是拿不到方法的参数信息。3. 切片(Aspect)能拿到方法的参数...

2018-08-14 13:47:46 307

原创 SpringBoot 手写拦截器

如何手写一个拦截器呢。假设我现在需要一个计时拦截器,我想把每一次调用服务锁花费的时间打印到控制台,我该怎么做呢?拦截机制有三种:1. 过滤器(Filter)能拿到http请求,但是拿不到处理请求方法的信息。2. 拦截器(Interceptor)既能拿到http请求信息,也能拿到处理请求方法的信息,但是拿不到方法的参数信息。3. 切片(Aspect)能拿到方法...

2018-08-14 13:47:31 442

原创 SpringBoot 手写过滤器&加载第三方过滤器

如何手写一个过滤器呢。假设我现在需要一个计时过滤器,我想把每一次调用服务锁花费的时间打印到控制台,我该怎么做呢?拦截机制有三种:1. 过滤器(Filter)能拿到http请求,但是拿不到处理请求方法的信息。2. 拦截器(Interceptor)既能拿到http请求信息,也能拿到处理请求方法的信息,但是拿不到方法的参数信息。3. 切片(Aspect)能拿到方法...

2018-08-14 13:46:54 808

原创 Springboot项目下载/上传路径整理

以前写SSM项目的时候,项目结构是webapp,所以在代码里./就是相对路径。 但是在resources目录下,这样的写法是resources目录项目1. ./表示什么 实验表明, 在resources目录结构下./表示项目源码根目录2. request.getServletContext().getContextPath()表示什么 这里我们可以看...

2018-08-13 09:01:59 5234

原创 Docker 搭建私有仓库Registry&Harbor

为什么要弄私有仓库,大多是为了速度,我们再私有仓库中的push和pull的速度是特别快的。利用registry快速搭建/registry/”>https://hub.docker.com//registry/Run a local registry: Quick Version$ docker run -d -p 5000:5000 --restart alwa...

2018-08-13 09:01:18 357

原创 Docker 上传镜像&拉取镜像

与git相似,docker也有自己的镜像仓库,官方仓库网站是https://hub.docker.com/,其实我们平时docker pull xxx就是从该仓库得到的镜像(在不设置国内镜像加速的情况下)。它和git仓库很相似。创建账号DockerHub:https://hub.docker.com/ 很多人在这里就出了问题,为什么都填完了但是不能点注册按钮呢?因为该网站目前...

2018-08-13 09:01:03 9255 1

原创 Docker 常用命令总结

列出镜像列表docker images获取新的镜像docker pull centos:7.0查找镜像docker search httpd更新镜像docker commit -m="提交的信息" -a="作者" e218edb10161 更改后的镜像名删除镜像docker rmi 49c614fbbea8Error re...

2018-08-13 09:00:48 140

原创 Docker 实现阿里云加速

阿里云加速[root@FantJ ~]# tee /etc/docker/daemon.json <<-'EOF'> {> "registry-mirrors": ["https://wghlmi3i.mirror.aliyuncs.com"]> }> EOF{ "registry-mirrors": ["https://wghl

2018-08-13 09:00:32 478

原创 第一章:docker安装

我的安装环境是CentOS7.x安装安装命令:wget -qO- https://get.docker.com | sh或者yum -y install docker-io 图片中说,如果你想不用root用户来使用docker,你要考虑添加你的用户到docker 组,命令如下:sudo usermod -aG docker your-user,我在这里不演示,我用root用户。...

2018-08-13 09:00:15 45

原创 Azkaban 简单入门

Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。1. 安装准备工作azkaban-web-server-2.5.0.tar.gz azkaban-executor-server-2...

2018-08-13 08:58:49 334

原创 Sqoop数据导入/导出

1. 从HDFS导出到RDBMS数据库1.1 准备工作写一个文件sqoop_export.txt1201,laojiao, manager,50000, TP1202,fantj,preader,50000,TP1203,jiao,dev,30000,AC1204,laowang,dev,30000,AC1205,laodu,admin,20000,TP1206,...

2018-08-13 08:58:34 217

原创 Flume入门

flume是分布式的日志收集系统,它将各个服务器中的数据收集起来并送到指定的地方去,可以是文件、可以是hdfs。安装tar -zxvf apache-flume-1.6.0-bin.tar.gz配置环境变量export FLUME_HOME=/xxx/flumeexport PATH=$PATH:$FLUME_HOME/bin修改conf下的flu...

2018-08-13 08:58:20 78

原创 Hive常用操作

1. 绑定数据1.1 创建表&创建文本文件创建文本文件test.txt1.2 从本地导入到hive1.3 从hdfs导入到hive先将test文件上传到hdfs中进入hive,创建表t5执行导入1. 绑定数据1.1 创建表&创建文本文件create table fantj.t3(id int,name s...

2018-08-13 08:57:55 141

原创 Shell脚本-控制多主机操作

环境介绍首先要做到各个主机之间无密ssh连接。这样会最大可能方便的控制。脚本命名为status#!/bin/bashparams=$@i=166for((i=166;i<=169;i++));do echo -------s$i $params ------- ssh s$i "$params"done测试...

2018-08-12 13:08:35 640

原创 Hadoop单词统计

1. 本地创建文本文件[root@s166 fantj]# mkdir input[root@s166 fantj]# cd input/[root@s166 input]# echo "hello fantj" > file1.txt[root@s166 input]# echo "hello hadoop" > file2.txt[root@s166 input]#...

2018-08-12 13:08:14 1124

空空如也

空空如也

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

TA关注的人 TA的粉丝

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