
java
lglhope
这个作者很懒,什么都没留下…
展开
-
设计模式之模板方法模式
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第10 章模板方法模式10.1、辉煌工程——制造悍马周三,9:00,我刚刚坐到位置上,打开电脑准备开始干活。“小三,小三,叫一下其他同事,到会议室开会”,老大跑过来吼,带着坏笑。还没等大家坐稳,老大就开讲了:“告诉大家一个好消息,昨天终于把××模型公司的...原创 2020-11-09 15:36:19 · 348 阅读 · 2 评论 -
mybatis plus强大的条件构造器queryWrapper、updateWrapper
(五)springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper转载自:https://blog.youkuaiyun.com/m0_37034294/article/details/82917234一、条件构造器关系介绍介绍 :上图绿色框为抽象类abstract 蓝色框为正常class类,可new对象 黄色箭头指向为父子类关系,箭头指向为父类wapper介绍 :Wrapper : 条件构造抽象类,最顶端父类,抽象类中..转载 2020-11-04 18:09:16 · 1104 阅读 · 0 评论 -
设计模式之抽象工厂模式
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第9章 抽象工厂模式9.1、女娲的失误第8章讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,忘记给人类定义性别了,那怎么办?抹掉重来,于是人类经过一次大洗...原创 2020-11-04 11:29:17 · 293 阅读 · 0 评论 -
设计模式之工厂方法模式
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第8章 工厂方法模式8.1、女娲造人的故事东汉《风俗通》记录了一则神话故事:“开天辟地,未有人民,女娲搏黄土做人”,讲述的内容就是大家非常熟悉的女娲造人的故事。开天辟地之初,大地上并没有生物,只有苍茫大地,纯粹而洁净的自然环境,寂静而又寂寞,于是女娲决定创...原创 2020-10-30 15:19:49 · 296 阅读 · 0 评论 -
Docker快速入门——Docker-Compose
一、Docker-Compose简介1、Docker-Compose简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose...原创 2019-06-17 11:17:46 · 883 阅读 · 0 评论 -
设计模式之单例模式
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第7章 单例模式7.1、我是皇帝我独苗自从秦始皇确立了皇帝这个位置以后,同一时期基本上就只有一个人孤零零地坐在这个位置。这种情况下臣民们也好处理,大家叩拜、谈论的时候只要提及皇帝,每个人都知道指的是谁,而不用在皇帝前面加上特定的称呼,如张皇帝、李皇帝。这...原创 2020-10-28 15:02:36 · 153 阅读 · 0 评论 -
设计模式之开闭原则
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第6章 开闭原则6.1、开闭原则的定义在哲学上,矛盾法则即对立统一的法则,是唯物辩证法的最根本法则。本章要讲的开闭原则是不是也有同样的重要性且具有普遍性呢?确实,开闭原则是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统,先来看...原创 2020-10-28 11:33:05 · 414 阅读 · 0 评论 -
设计模式之迪米特法则
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第5章迪米特法则5.1、迪米特法则的定义迪米特法则(LawofDemeter,LoD)也称为最少知识原则(LeastKnowledgePrinciple,LKP),虽然名字不同,但描述的是同一个规则:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需..原创 2020-10-27 18:04:34 · 225 阅读 · 0 评论 -
设计模式之接口隔离原则
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第4章 接口隔离原则 4.1接口隔离原则的定义在讲接口隔离原则之前,先明确一下我们的主角——接口。接口分为两种:实例接口(ObjectInterface),在Java中声明一个类,然后用new关键字产生一个实例,它是对一个类型的事物的描述,这是一种接口。比如你..原创 2020-10-27 14:07:53 · 290 阅读 · 3 评论 -
设计模式之依赖倒置原则
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第3章 依赖倒置原则 3.1、依赖倒置原则的定义 依赖倒置原则(DependenceInversionPrinciple,DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思? 依赖倒置原则的原始定义是:H...原创 2020-10-26 17:29:47 · 545 阅读 · 0 评论 -
设计模式之里氏替换原则
写在前面 本博主说写设计模式模块的内容皆来自《设计模式之禅第二版》,有兴趣的朋友可以去看原创作者的书籍,我写在这是为了本人方便或者其它朋友能够单独的看到想看的设计模式。原著写得很好,强烈建议观看原书。如果侵权麻烦联系本人,立删之!第2章里氏替换原则2.1爱恨纠葛的父子关系 在面向对象的语言中,继承是必不可少的、非常优秀的语言机制,它有如下优点:代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性; 提高代码的重用性; 子类可以形似父类,但又异于父类...原创 2020-10-26 11:38:50 · 261 阅读 · 0 评论 -
springboot利用filter获取request和response中的数据
package liu.hope.my_demo_boot.filter;import com.alibaba.fastjson.JSONObject;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.core.annotation.Order;import org.spr...原创 2020-04-28 23:49:03 · 5387 阅读 · 4 评论 -
ORACLE RETURNING INTO的用法
关于DML语句 INSERT,UPDATE,DELETE RETURNING INTO的测试结果1.前提准备 由于框架的原因 在得到PreparedStatement对象,强转为OraclePreparedStatement时会出现转化报错的问题,故不能使用强转的方式 应使用wPs1.unwrap(OraclePreparedStatement.class)的方式转化为OraclePrep...原创 2020-04-20 20:29:04 · 905 阅读 · 0 评论 -
Spring Security 解析(七) —— Spring Security Oauth2 源码解析
Spring Security 解析(七) —— Spring Security Oauth2 源码解析在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security 、Spring Security Oauth2 等权限、认证相关的内容、原理及设计学习并整理一遍。本系列文章就是在学习的过程中加强印象和理解所撰写的,如有侵权请...转载 2020-04-20 04:30:42 · 867 阅读 · 0 评论 -
Spring Security 解析(六) —— 基于JWT的单点登陆(SSO)开发及原理解析
Spring Security 解析(六) —— 基于JWT的单点登陆(SSO)开发及原理解析在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security 、Spring Security Oauth2 等权限、认证相关的内容、原理及设计学习并整理一遍。本系列文章就是在学习的过程中加强印象和理解所撰写的,如有侵权请告知。...转载 2020-04-20 04:28:37 · 598 阅读 · 0 评论 -
Spring Security 解析(五) —— Spring Security Oauth2 开发
Spring Security 解析(五) —— Spring Security Oauth2 开发在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security 、Spring Security Oauth2 等权限、认证相关的内容、原理及设计学习并整理一遍。本系列文章就是在学习的过程中加强印象和理解所撰写的,如有侵权请告知...转载 2020-04-20 04:21:58 · 1199 阅读 · 0 评论 -
Spring Security 解析(四) —— 短信登录开发
Spring Security 解析(四) —— 短信登录开发在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security 、Spring Security Oauth2 等权限、认证相关的内容、原理及设计学习并整理一遍。本系列文章就是在学习的过程中加强印象和理解所撰写的,如有侵权请告知。项目环境:JDK1.8S...转载 2020-04-20 04:19:41 · 383 阅读 · 0 评论 -
Spring Security 解析(三) —— 个性化认证 以及 RememberMe 实现
Spring Security 解析(三) —— 个性化认证 以及 RememberMe 实现在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security 、Spring Security Oauth2 等权限、认证相关的内容、原理及设计学习并整理一遍。本系列文章就是在学习的过程中加强印象和理解所撰写的,如有侵权请告知。...转载 2020-04-20 04:17:21 · 498 阅读 · 2 评论 -
Spring Security 解析(二) —— 认证过程
Spring Security 解析(二) —— 认证过程在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security 、Spring Security Oauth2 等权限、认证相关的内容、原理及设计学习并整理一遍。本系列文章就是在学习的过程中加强印象和理解所撰写的,如有侵权请告知。项目环境:JDK1.8Spr...转载 2020-04-20 04:14:08 · 559 阅读 · 2 评论 -
Spring Security 解析(一) —— 授权过程
Spring Security 解析(一) —— 授权过程在学习Spring Cloud 时,遇到了授权服务oauth 相关内容时,总是一知半解,因此决定先把Spring Security 、Spring Security Oauth2 等权限、认证相关的内容、原理及设计学习并整理一遍。本系列文章就是在学习的过程中加强印象和理解所撰写的,如有侵权请告知。项目环境:JDK1.8Spr...转载 2020-04-20 04:11:07 · 797 阅读 · 0 评论 -
java8 Optional静态类简介,以及用法
在java8中,很多的stream的终端操作,都返回了一个Optional<T>对象,这个对象,是用来解决空指针的问题,而产生的一个类;我们先看下,这个类的一些定义import java.util.NoSuchElementException;import java.util.Objects;import java.util.function.Consumer;import...转载 2019-12-20 09:52:13 · 458 阅读 · 0 评论 -
java8 stream接口 终端操作 collect操作
在之前,我们有说到,java8中的stream操作,分为中间操作和终端操作,在终端操作中,前面也看到了归约的方式,这篇主要是也说的归约操作的方式collect,收集器操作,收集器操作,可以当做是一种更高级的归约操作;先看下stream中的collect操作 <R> R collect(Supplier<R> supplier,BiConsumer<...转载 2019-12-20 09:52:04 · 592 阅读 · 0 评论 -
java8 srteam接口终端操作reduce操作
对于中间操作和终端操作的定义,请看《JAVA8 stream接口 中间操作和终端操作》,这篇主要讲述的是stream的reduce操作,reduce是一种归约操作,将流归约成一个值的操作叫做归约操作,用函数式编程语言的术语来说,这种称为折叠(fold);我们先看下函数的定义T reduce(T identity, BinaryOperator<T> accumulato...转载 2019-12-20 09:51:56 · 452 阅读 · 0 评论 -
java8 stream接口终端操作 count,anyMatch,allMatch,noneMatch
对于中间操作和终端操作的定义,请看《JAVA8 stream接口 中间操作和终端操作》,这篇主要讲述的是stream的count,anyMatch,allMatch,noneMatch操作,我们先看下函数的定义long count(); boolean anyMatch(Predicate<? super T> predicate); bool...转载 2019-12-19 15:09:27 · 325 阅读 · 0 评论 -
java8 stream接口 终端操作 toArray操作
对于中间操作和终端操作的定义,请看《JAVA8 stream接口 中间操作和终端操作》,这篇主要讲述的是stream的toArray操作,我们先看下函数的定义以及实现Object[] toArray(); <A> A[] toArray(IntFunction<A[]> generator); @Override @SuppressWarn...转载 2019-12-19 15:07:54 · 3118 阅读 · 0 评论 -
java8 stream接口 终端操作 forEachOrdered和forEach
对于中间操作和终端操作的定义,请看《JAVA8 stream接口 中间操作和终端操作》这篇开始介绍java8的终端操作,以及forEachOrdered和forEach;先看下这个函数的定义void forEach(Consumer<? super T> action); void forEachOrdered(Consumer<? super T> a...转载 2019-12-19 15:05:42 · 680 阅读 · 0 评论 -
JAVA8 stream接口 distinct,sorted,peek,limit,skip
下面,我们来看其他的剩余的一些中间操作,各自的作用,我也通过注释,做了解析,方法定义如下;//去重复 Stream<T> distinct(); //排序 Stream<T> sorted(); //根据属性排序 Stream<T> sorted(Comparator<? super T> compara...转载 2019-12-19 15:01:06 · 584 阅读 · 0 评论 -
JAVA8 Stream接口,map操作,filter操作,flatMap操作
这篇,我们来看Stream的一些中间操作,关于中间操作的一些介绍,可以看《JAVA8 stream接口 中间操作和终端操作》1,filter操作,我们先看方法的定义Stream<T> filter(Predicate<? super T> predicate);这个方法,传入一个Predicate的函数接口,关于Predicate函数接口定义,可以查看《JAV...转载 2019-12-19 14:55:21 · 1058 阅读 · 0 评论 -
JAVA8 stream接口 中间操作和终端操作
上一篇我们介绍了stream的集中创建方式,《 java8 Stream-创建流的几种方式》,从这篇开始,我们开始介绍stream接口里的一系列方法的作用,以及使用,每个方法都会有相对应的案例的解析,让大家可以更加直观的方式,了解方法的使用,使用这些方法之前,我们先对方法的类型,进行归类,然后分类型进行讲解;下面,我们再看下接口定义public interface Stream<T&g...转载 2019-12-19 14:52:16 · 610 阅读 · 0 评论 -
java8 Stream-创建流的几种方式
前面(《java8 Stream接口简介》),我们已经对stream这个接口,做了简单的介绍,下面,我们用几个案例,来看看流的几种创建方式 String[] dd = { "a", "b", "c" }; Arrays.stream(dd).forEach(System.out::print);// abc System.out.println(...转载 2019-12-19 11:34:26 · 778 阅读 · 0 评论 -
java8 Stream接口简介
首先我们先来认识下一个的接口的意思,流是什么?流是java API中的新的成员,它可以让你用声明式的方式处理集合,简单点说,可以看成遍历数据的一个高级点的迭代器,也可以看做一个工厂,数据处理的工厂,当然,流还天然的支持并行操作;也就不用去写复杂的多线程的代码,下面我先来看下stream的接口定义public interface Stream<T> extends BaseSt...转载 2019-12-19 11:29:58 · 396 阅读 · 0 评论 -
JAVA8 BiConsumer 接口
这个接口跟《JAVA8 Consumer接口》很像,表达的想法也是一致的,都是消费的意思,我们先看下接口定义@FunctionalInterfacepublic interface BiConsumer<T, U> { void accept(T t, U u); /**本接口中的accept先执行,传入的BiConsumer 接口类型的参数,...转载 2019-12-18 11:16:26 · 454 阅读 · 0 评论 -
JAVA8 UnaryOperator接口
我们先看下这个接口的定义@FunctionalInterfacepublic interface UnaryOperator<T> extends Function<T, T> { /** * Returns a unary operator that always returns its input argument. * ...转载 2019-12-18 11:14:40 · 330 阅读 · 0 评论 -
JAVA8 Supplier接口
看下接口定义@FunctionalInterfacepublic interface Supplier<T> { /** * Gets a result. * * @return a result */ T get();}supplier英 [səˈplaɪə(r)] 美 [səˈplaɪər] n....转载 2019-12-18 11:12:08 · 376 阅读 · 0 评论 -
JAVA8 Consumer接口
Consumer的语义是消费的意思,了解一些消息队列的同学,肯定对这个单词,有一定的理解,我们先看接口的定义@FunctionalInterfacepublic interface Consumer<T> { void accept(T t); default Consumer<T> andThen(Consumer<? su...转载 2019-12-18 11:08:40 · 447 阅读 · 0 评论 -
JAVA8 Function接口以及同类型的特化的接口
我们先来看下Funtion接口的定义@FunctionalInterfacepublic interface Function<T, R> { R apply(T t); default <V> Function<V, R> compose(Function<? super V, ? extends T> before) ...转载 2019-12-18 11:00:46 · 505 阅读 · 0 评论 -
java8 函数式接口简介
在java8中,lambda表达式所用的接口,必须是函数式接口;函数式接口的定义:接口中只有一个抽象方法的接口,称为函数式接口;可以使用@FunctionalInterface注解修饰,对该接口做检查;如果接口里,有多个抽象类,使用该注解,会有语法错误。在java8中的函数式接口,有很多,比说,无参无返回值的(Runnable接口),有一个参数,无返回值的(Consumer),有多个参...转载 2019-12-18 10:56:31 · 620 阅读 · 0 评论 -
java8 Lambda表达式简介
先阐述一下JSR(Java Specification Requests)规范,即Java语言的规范提案。是向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,可以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。可以理解为JSR是Java开发者以及授权者指定的标准,而Java开发者以及授...原创 2019-12-18 10:50:53 · 5137 阅读 · 2 评论 -
java8 lambda表达式,方法的引用以及构造器的引用
lambda表达式最主要的点:函数式接口的泛型、输入参数、返回值,此后使用lambda都要想到这三个点方法的引用的语法,主要有三类1.指向静态方法的方法引用,例如Integer的parseInt方法 ,可以写成Integer::parseInt类::静态方法名2.指向任意类型实例方法的方法引用,例如String的length方法,写成String::length;...转载 2019-12-18 10:45:50 · 691 阅读 · 0 评论 -
Java 8 lambda表达式中的异常处理
1 概述在Java 8 中,当写lambda表达式并处理异常时代码变得冗余不堪,本文主要介绍lambda表达式中一些异常处理方式。2 处理 Unchecked 异常(不处理编译通过)下面的代码,当i为0时会引发ArithmeticException异常。List<Integer> integers = Arrays.asList(3, 9, 7, 6, 10, 20)...转载 2019-12-17 14:17:10 · 874 阅读 · 0 评论