自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冯文议技术博客

我是冯文议(Erwin Feng),Java Developer。这是我的技术博客,专注于程序设计与开发。开源项目:JavaLib、api-result。喜欢电影、游戏、音乐、茶、旅行

原创 Elasticsearch系列之Query DSL

1 前言我们先通过阅读官方文档,了解一些什么是 Query DSL 。1.1 Query DSLElasticsearch provides a full Query DSL (Domain Specific Language) based on JSON to define queries.DSL是啥?由Elasticsearch提供的一套完整的JSON格式的查询语句。Think of the Query DSL as an AST (Abstract Syntax Tree)

2020-07-13 22:52:43 66

原创 如何让你的网站也能跟我的一样使用HTTPS访问?

使用HTTPS访问我们的网站,不仅可以增加我们网站的安全性,更重要的是还能提升我们网站的逼格!我在为网站搭建SSL服务和CDN上有一些经验,在这里分享给大家,希望能帮到在这方面有需求的小伙伴吧!!!第一步 购买SSL证书打开 阿里云 > 产品与服务 > SSL证书第二步 验证域名购买成功后,需要验证我们域名,所以我们需要解析域名记录类型:TXT主机记录:hub.fengwenyi.com记录值:将表格中的记录值填写到这里点击 保存。然后在验证域名那里点击 验证第三步

2020-05-21 22:27:20 272 1

原创 Java 8 Stream API学习总结

Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。这一次为什么要系统性的总结一下 Java 8 St

2020-05-16 05:01:10 79

原创 Git常用命令使用教程

Git配置SSH配置名字和邮箱# 全局配置git config --global user.name 'XXX'git config --global user.email 'XXX@email.com'生成SSH keycd ~/.sshssh-keygen -t rsa -C "XXX@email.com"将 SSH key保存到git服务器上# 复制key,如果这个命令...

2020-04-27 22:39:20 71

原创 个人网站第五版(2020年版)来了

​ 大家好,转眼间2020年了,首先祝大家2020年元旦快乐。我是冯文议,是一名JAVA工程师,我的个人网站第五个版本(2020年版)也如期而至。本次改版与以往只有个人主页的版本不一样,这一次旨在打造一个记录自己的平台。包含个人主页、博客系统、作品、相册系统、留言系统、用户系统、后台管理系统等。技术基于Spring Boot进行开发前端使用Themyleaf模板,Lay...

2020-01-01 14:53:57 201

原创 API接口开发(一):接口开发返回结果解决方案

摘要采用前后端分离的方式进行项目开发,那么前后端交互比较好的方式是采用HTTP+JSON。如何接口返回结果更加简洁,更加优雅,也更加合理,并且让前端开发人员看得明白,后端开发者也并不会因此而增加工作量呢?正文开始Hello,各位,好久不见了。一直在筹划个人网站2020版本改版的事情,所以,本篇文章,也是2019年最后一篇了,当然,也得花一些心思,争取把我想要说的话,都一一说出来,说明白,说透...

2019-12-01 23:00:41 190

原创 后端管理系统开发(一):登录篇

作为后端程序员,想写一个数据展示的系统,主要用于数据查询、数据展示,当然也有登录功能了,有没有比较快的方式呢,于此,Vue-Admin-Pro便产生了,基于iView-Admin,进行简化,为后端程序员量身打造的极简后端管理系统。项目地址:vue-admin-pro系列文章1:后端管理系统开发(一):登录篇系列文章2:后端管理系统开发(二):路由篇(敬请期待)系列文章3:后端管理系统开发(...

2019-07-22 09:45:16 301

原创 MongoDB基础知识

微服务流行,我也是越来越喜欢MongoDB了,除非必要要用MySQL,我都会倾向于MongoDB。MongoDB什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键...

2019-07-19 10:38:01 59

原创 SpringBoot整合MongoDB多数据源

SpringBoot整合MongoDB多数据源依赖// build.gradleimplementation 'org.springframework.boot:spring-boot-starter-data-mongodb'配置文件# application.ymlspring: data: mongodb: primary: uri:...

2019-07-01 18:33:38 2079

原创 个人网站第四次改版了

我是冯文议,一名JAVA工程师。从2015年学习做网页开始,一直在折腾自己的个人网站,如今已经折腾了4个版本了。平时也忙着学习JAVA,只能抽空余时间随便写写,所以更新速度稍显缓慢。写个人网站,可能有以下两个原因:展示自己。认识一个新朋友,我们自我介绍,那么我该如何用简洁的语言,向他介绍我自己呢,出于这样的想法,诞生了个人网站,我可以不断打磨介绍自己的语言,词语,以便对面可以快速,也更...

2019-05-12 19:36:18 88 2

原创 Elasticsearch实战篇——Spring Boot整合ElasticSearch

当前Spring Boot很是流行,包括我自己,也是在用Spring Boot集成其他框架进行项目开发,所以这一节,我们一起来探讨Spring Boot整合ElasticSearch的问题。本文主要讲以下内容:第一部分,通读文档第二部分,Spring Boot整合ElasticSearch第三部分,基本的CRUD操作第四部分,搜索第五部分,例子还没有学过Elasticsearch的朋...

2019-03-23 13:44:53 221

原创 Elasticsearch入门篇——基础知识

还记得大二的时候,初入Java大门,就大言不惭的给老师说,我要开发一个搜索引擎,结果是各种学习,各种找资料,终于在期末的时候,做出了一个简单新闻搜索页面,搜索模块是使用了Lucene。今天,我们一起走进Elasticsearch的殿堂。Elastic以Elastic之名进行交易的数据搜索软件初创公司Elastic search于2018年10月5日(美国时间)上市。Elastic Sea...

2019-03-11 22:04:58 164

原创 实战:基于Spring Boot快速开发RESTful风格API接口

写在前面的话这篇文章计划是在过年期间完成的,示例代码都写好了,结果亲戚来我家做客,文章没来得及写。已经很久没有更新文章了,小伙伴们,有没有想我啊。言归正传,下面开始,今天的话题。目标写一套符合规范,并且具有RESTful风格的API接口。假定你已会使用Spring Boot 2.x。你已会使用Gradle构建Spring Boot工程。你已会基于Spring Boot编写...

2019-02-20 22:42:10 1066

原创 Redis | 尝试封装一个操作工具类

介绍本次主要介绍以下内容:1、SpringMVC集成Redis2、Spring Boot集成Redis(上)3、Spring Boot集成Redis(中)4、Spring Boot集成Redis(下)5、使用redis为我们提供jar进行封装6、使用Spring Boot提供的方法进行封装内容比较多,会花一定的时间进行完善。阅读原文...

2018-12-05 01:34:49 102

原创 MongoDB | Linux 安装

Hi,好久不见,有没有想我啊下载安装包去 MongoDB Download Center 下载适合自己的版本。安装将安装包通过FTP上传到服务器,然后解压要自己的目录。比如:# 解压tar -zxvf mongodb-linux-x86_64-4.0.3.tgz# 切换位置cd /user/local/mongodb# 剪切mv mongodb-linux-x86_64-4...

2018-11-07 00:48:28 34

原创 Shiro | 实现权限验证完整版

写在前面的话提及权限,就会想到安全,是一个十分棘手的话题。这里只是作为学校Shiro的一个记录,而不是,权限就应该这样设计之类的。Shiro框架1、Shiro是基于Apache开源的强大灵活的开源安全框架。2、Shiro提供了 认证,授权,企业会话管理、安全加密、缓存管理。3、Shiro与Security对比4、Shiro整体架构5、特性6、认证流程认证当我们理解Shi...

2018-10-22 03:18:57 5197 3

原创 Spring | 手把手教你SSM最优雅的整合方式

HEY本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。MODULE新建一个Maven工程。不论你是什么工具,选这个就可以了,然后next,直至finish。POM.XML引jar是一个难点,都是一股脑的引入,这是我们开始的第一步,很关键,我们分开说。先看Spring,我们可能需要的jar:<!-- spring核心依...

2018-09-20 01:00:46 732

原创 Spring-Cloud | openfeign使用细节

写在前面的话各位,下午好!我比较喜欢用 fegin 来实现微服务之间的调用,但是feign使用的那些细节,是get到了吗?本节我将使用Spring Boot 2.0.5.RELEASE + Spring Cloud SR1 + openfeign并结合实际的使用,教你使用feign的姿势。项目架构我们先对测试架构一番,看图简单来说,就是服务模块化分为:model层、AP...

2018-09-15 14:14:02 1058 2

原创 MyBatis-Plus | 最简单的查询操作教程(Lambda)

引言上一篇:MyBatis-Plus | 最优雅最简洁地完成数据库操作 是对MyBatis-Plus的功能进行简单介绍,虽然是介绍,也让我们领略到他的优雅与强大。你是不是已经被吸引了?别着急,上一节,我们算是参观了MyBatis的风景,这一节,我将带你领略他独特的魅力。Lambda官方表示,3.x支持Lambda表达式,那应该怎么使用呢?我们来看个例子:QueryWra...

2018-09-12 00:36:52 61064 18

原创 JavaLib | 消息引擎的妙用

JavaLib开始支持消息引擎啦。这里我们以支付方式的选择来进行演示。闲话少说,直接进入今天的主题。项目搭建1、你需要用Spring Boot搭建一个项目2、引入 JavaLib<dependencies> ... <dependency> <groupId>com.github.fengwenyi&l...

2018-09-06 14:46:21 354

原创 JavaLib | 使用AOP帮你记录日志

这一次,我们干脆点,直接进入正题。第一步使用这个模块,你必要加入的包依赖:第二步你需要告诉我,你的切入点(继承 LBaseWebLogAspect,并实现 pointCut() 方法,配置你的切入点)@Aspect@Componentclass WebLogAspect extends LBaseWebLogAspect { @Pointcut("...

2018-09-04 00:09:30 134

原创 JavaLib | Result让你的API接口统一化(2)

引言JavaLib很早就实现了Result模块,我也一直在用,但那是针对公用API接口的,如果后端开发人员也像那样写API接口给前端的话,非常麻烦,所以,很早就决定要重写了,我也是参考了很多人的,看Spring Builder模式,有点糊涂,设计算是失败了。概要我们先来看一下,长什么样吧。public class App { public static void ...

2018-09-02 23:21:54 852

原创 MyBatis-Plus | 最优雅最简洁地完成数据库操作

引言两点:一,使用MyBatis-Plus最新版(3.0.1)完成相关操作二,好久没写MyBatis操作数据库的博文了,有没有想我啊,哈哈,认真看,认真听,认真学。测试效果:下面听我细细道来,MyBatis-Plus的优雅、简洁与强大。代码生成器代码生成器,又被叫做逆向工程,MyBatis官方为了推广,自己也写了一个,我之前也使用这个,功能也是非常强大,...

2018-09-01 18:43:47 9586 1

原创 spring-cloud | 分布式session共享

写在前面的话各位小伙伴,你们有福了,这一节不仅教大家怎么实现分布式session的问题,还用kotlin开发,喜欢kotlin的小伙伴是不是很开心!以前在写Android的时候,就对客户端请求有一定的认识,比如为什么要用token认证。这一节我们基于Spring Boot + Redis来实现session共享,因为session共享在分布式开发中很常见,所以起“spring-cloud ...

2018-08-22 04:43:47 1272

原创 Linux | Redis

写在前面的话常言道,不作笔记不读书。在下是深有体会啊,所以,跟我一起做下本节的笔记吧,或许多年以后,你一定会感谢今天的你。安装在官网的下载页 Redis Download 直接写了在Linux的安装方案,这里我们再来做下笔记。$ wget http://download.redis.io/releases/redis-4.0.11.tar.gz$ tar xzf redi...

2018-08-21 23:31:29 113

原创 spring-boot | 日志

引言好久不见,都还好吗?大家都知道,我一般都是带来实用的东西,这次也一样,我们来试试项目开发中的日志处理。理论知识1、为什么要用日志?你是否因为项目出现问题,查找日志文件定位错误花费N多时间,是否为此苦不堪言。2、Spring Boot 默认集成Logback。日志输出内容元素具体如下: * 时间日期:精确到毫秒 * 日志级别:ERROR, WARN, INFO, DE...

2018-08-17 18:44:13 74

原创 maven | 从搭建私服到上线运行

引言很久以前按照教程搭建过maven私服,那时候用的版本比较低,那也是出于好奇,玩玩而已,当时有将JavaLib这个包放在上面,嗯,也是能用的,后来因为这个服务与其他服务莫名其妙的冲突,所以就放弃了。前几天公司老大搭建maven私服,才知道最新版本已经是3.x了,所以忍不住当一回小白鼠吧。言归正传,我们开始今天的主题吧,希望能给有缘的你,带来一定点的帮助,那我就很开心了。本文主要介绍在...

2018-08-06 00:50:06 314

原创 2018 | 七月日记

总结工作和生活上过得都很不开心。考虑的东西多了,终有一日,身上的棱角会变成圆弧。1、明确自己的目标,并为之不断奋斗。2、遇事沉着冷静,要有自己的原则。3、对于一个产品的理解,要能阐述清楚。4、English学习来说,还是有难度,需要下更大的功夫。5、学会使用MyBatis Plus。6、完成了Spring Boot多模块,也真正在项目中实践了Spring Cloud。...

2018-08-02 03:16:56 149

原创 JavaLib-quartz | 基于Spring Boot Quartz开发的定时任务

基于Spring Boot Quartz开发的JavaLib-quartz,目的是帮你快速构建定时任务系统,你可以专心编写你的业务逻辑,而不必关注定时任务具体是如何实现的,他的性能如何,有没有异常以及异常处理,监控等等问题。这些你可以在文档中得知。快速使用第1步、添加依赖 <!-- 测试版需要指定仓库 --> <repositories>...

2018-07-30 10:32:07 108

原创 Oracle | Java操作Oracle驱动问题

写在前面的话最近做的项目用到了Oracle数据库,开始接触Oracle数据库要追溯到大二了,学了一个学期,上课呢,老师也是按照书上的,给我讲,从安装到用命令,再到用图形化视图工具。一个学期下来,发现除了在Windows上安装了几次Oracle和几个名词外,没有去真正使用过。要考试的最后那一周,安装考试题,学了一遍Oracle,收获还是蛮多的。问题以前用Oracle,会在produc...

2018-07-26 03:52:13 740

原创 System.arraycopy引发的问题

使用APIpublic static void arraycopy( Object src, //源数组 int srcPos, //源数组的起始位置 Object dest, //目标数组 ...

2018-07-08 01:55:20 1056

原创 MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要问题描述我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候,我们有一个MyBatis的配置文件,我们可以用下面的标签样式指定<typeHandlers> <typeHandler handler="com...

2018-06-24 19:48:56 1800 1

原创 JavaLib | result 模块

result是什么?result 是帮助 后端 API 开发者将接口返回统一化。样式返回是 json 字符串,以下样式均已被格式化。成功且有数据{ "code":0, "msg":"Success", "data":"DATA"}成功无数据{ "code":0, "msg":"S

2018-06-24 19:47:40 190

原创 Java | enum 枚举类

simple我们以用户状态写一个枚举类package com.fengwenyi.learn.java.javaenum;/** * @author Wenyi Feng */public enum UserStatus { // 登入 LOGIN, // 登出 LOGOUT}测试类@Testpublic void sim...

2018-06-24 19:43:26 69

原创 Spring | IOC AOP 注解 简单使用

写在前面的话很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不忘更新Spring的知识,这不就来了吗?IOC我想把类交给Spring,让他帮我创建对象,这应该怎么做?1、类package com.fengwenyi.learn.java.springi...

2018-06-23 03:19:41 78

原创 FreeMarker | 数据篇

变量及运算1、变量定义和赋值<#assign x = 123 />2、判空防止为空${x!}${x! '空'} FreeMarker 不区分单双引号逻辑判空<#if x?? /><#if x?exists />对象、集合1、对象2、集合3、Map可以根据key直接取...

2018-06-15 16:54:54 235

原创 FreeMarker | 取值篇

第一部分:Spring Boot 集成 FreeMarker1、pom.xml 需要这些依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId&g...

2018-06-14 09:07:56 2147

原创 IO 】序列化与反序列化

前言以前看别人博客,设计到操作,都会让实现 Serializable,知道这叫序列化与反序列化,但什么是序列化与反序列化,不得而知,最近在深入学习IO专题,也就学习下序列化与反序列化。也接触到ArrayList源码,再一次佩服写jdk的那些大神。概要序列化与反序列化,应该叫对象的序列化与反序列化。对象的序列化,就是将Object转换成byte序列,反之叫对象的反序列化。序列...

2018-06-12 21:54:57 290

原创 学习File类,并教你写FileUtil

写在前面的话程序包括代码、数据、文档。在当今,数据对我们来说,尤为重要。或存数据库或写入文件。这样对于File类的学习,就显得十分必要。编码1、用什么编码写,就用什么编码读2、掌握一些读取文件时可以使用编码方法 public byte[] getBytes(String charsetName) throws UnsupportedEnco...

2018-05-15 16:56:51 772

原创 【MyBatis】学习纪要十一:逆向工程

写在前面的话前面学习MyBatis的运行原理,刚学完,回头想想还是非常复杂的,也因为之前没有这样去分析过源码,所以这一节算是卡住了,可能会花一定的时间,为了不卡住学习进度,所以我们继续学习,后面再写插件。Introduction to MyBatis Generator1、我首先告诉你官方网站地址:MyBatis Generator2、前面在写测试的时候,就发现了这个问题,要写...

2018-05-10 01:19:05 97

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