java
z446981439
吃饭了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java自定义线程池使用
List<ThreadDocPrintLog> threadDocPrintLogs=new ArrayList<>(); for (DocPrintLogDO docPrintLogDO:logDOS){ //用于线程传递参数 ThreadDocPrintLog threadDocPrintLog=new ThreadDocPrintLog(); threadDocPrint...原创 2020-07-23 11:31:41 · 640 阅读 · 0 评论 -
mybatis使用数组作为入参
查询 <select id="getSpotCheckUserIdArray" resultType="com.hyzs.szzf.lawcase.core.dto.EvaluationDTO"> <foreach collection="spotCHeckUser" item="userId" index="index" open="" separator=" union " close=""> ( SEL原创 2020-07-02 16:35:45 · 1041 阅读 · 0 评论 -
Springcloud feign调用之获取接口响应数据(io流)
feign接口 @RequestMapping(value = "v1.0/fileUpload/download",method =RequestMethod.GET,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) feign.Response download(@RequestParam("id") Long id); IdDTO<Long> idDTO = new IdDTO<>(); ...原创 2020-07-01 15:33:45 · 5773 阅读 · 3 评论 -
使用httpClient 访问https请求
package com.hyzs.szcg.doc.utils;import lombok.extern.slf4j.Slf4j;import org.apache.http.HttpEntity;import org.apache.http.HttpStatus;import org.apache.http.ParseException;import org.apache.http...原创 2020-04-21 10:50:24 · 1727 阅读 · 0 评论 -
解释器模式(Interpreter)
模式的定义与特点解释器(Interpreter)模式的定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。也就是说,用编译语言的方式来分析应用中的实例。这种模式实现了文法表达式处理的接口,该接口解释一个特定的上下文。这里提到的文法和句子的概念同编译原理中的描述相同,“文法”指语言的语法规则,而“句子”是语言集中的元素。例如,汉语中的句子有很多,“我是中国...原创 2020-01-21 09:26:10 · 432 阅读 · 1 评论 -
中介者模式(Mediator)
模式的定义与特点中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。中介者模式是一种对象行为型模式,其主要优点如下。降低了对象之间的耦合性,使得对象易于独立地被复用。 将对象间的一对多关联转变为一对一的关联,提高系统的灵活性,使得系统易于维护和扩展。...原创 2020-01-21 09:26:12 · 224 阅读 · 0 评论 -
访问者模式(Visitor)
模式的定义与特点访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。访问者(Visitor)模式是一种对象行为型模式,其主要优点如下。扩展性好。能够在不修改对象结构中的元素的情...原创 2020-01-21 09:26:14 · 240 阅读 · 0 评论 -
状态模式(State)
状态模式的定义与特点状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。状态模式是一种对象行为型模式,其主要优点如下。状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足“单一职责原则”。 减少对象间的相互依赖。将不同的状态引入独立的对象中会使得状态转换变得更加明确,且减...原创 2020-01-21 09:26:15 · 244 阅读 · 0 评论 -
备忘录模式(Memento)
模式的定义与特点备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。备忘录模式是一种对象行为型模式,其主要优点如下。提供了一种可以恢复状态的机制。当用户需要时能够比较方便地将数据恢复到某个历史的状态。 实现了内部状态的封装。除了创建它的发起人之外,其他对象都不...原创 2020-01-21 09:26:17 · 247 阅读 · 0 评论 -
命令模式(Command)
命令模式的定义与特点命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。命令模式的主要优点如下。降低系统的耦合度。命令模式能将调用操作的对象与实现该操作的对象解耦。 增加或删除命令非常方便。采用命令模式增加与删除命令不会影响其他类,它满足“开闭原则”...原创 2020-01-21 09:26:11 · 262 阅读 · 0 评论 -
责任链模式(Chain of Responsibility)
模式的定义与特点责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。注意:责任链模式也叫职责链模式。在责任链模式中,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,所以责任链...原创 2020-01-21 09:26:22 · 416 阅读 · 0 评论 -
迭代器模式(Iterator)
模式的定义与特点迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式,其主要优点如下。访问一个聚合对象的内容而无须暴露它的内部表示。 遍历任务交由迭代器完成,这简化了聚合类。 它支持以不同方式遍历一个聚合,甚至可以自定义迭代器的子类以支持新的遍历。 增加新的聚合类和迭代器类都很方便,无须修改原有...原创 2020-01-21 09:26:24 · 246 阅读 · 0 评论 -
观察者模式(Observer)
模式的定义与特点观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。观察者模式是一种对象行为型模式,其主要优点如下。降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。 目标与观察者之间建立了一套触发机制。它的主要缺点...原创 2020-01-20 15:30:08 · 297 阅读 · 0 评论 -
模板方法模式(Template Method)
模式的定义与特点模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。该模式的主要优点如下。它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,而把可变部分算法由子类继承实现,便于子类继续扩展。 它在父类中提取了公共...原创 2020-01-20 15:24:36 · 454 阅读 · 0 评论 -
策略模式(strategy)
策略模式的定义与特点策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。策略模式的主要优点如下。多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句。 策略模式提供了一系...原创 2020-01-20 15:11:02 · 230 阅读 · 0 评论 -
享元模式(Flyweight)
在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。例如,围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网中的路由器、交换机和集线器,教室里的桌子和凳子等。这些对象有很多相似的地方,如果能把它们相同的部分提取出来共享,则能节省大量的系统资源,这就是享元模式的产生背景。享元模式的定义与特点享元(Fl...原创 2020-01-20 14:47:16 · 170 阅读 · 0 评论 -
组合模式(Composite)
组合模式的定义与特点组合(Composite)模式的定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示“部分-整体”的关系,使用户对单个对象和组合对象具有一致的访问性。组合模式的主要优点有:组合模式使得客户端代码可以一致地处理单个对象和组合对象,无须关心自己处理的是单个对象,还是组合对象,这简化了客户端代码; 更容易在组合体内加入新的对象,客户端不会因为...原创 2020-01-20 14:34:28 · 240 阅读 · 0 评论 -
桥接模式(Bridge)
桥接模式的定义与特点桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。桥接(Bridge)模式的优点是:由于抽象与实现分离,所以扩展能力强; 其实现细节对客户透明。缺点是:由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,这增加了系统的理解与设计难度。桥接模式的结构...原创 2020-01-20 14:22:30 · 202 阅读 · 0 评论 -
外观模式(Facade)
在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”,所以有必要为多个子系统提供一个统一的接口,从而降低系统的耦合度,这就是外...原创 2020-01-20 11:46:24 · 160 阅读 · 0 评论 -
代理模式(Proxy)
在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友(有点难找)、找工作等都可以通过找中介完成。在软件设计中,使用代理模式的例子也很多,例如,要访问的远程对象比较大(如视频或大图像等),其下载要花很多时间。还有因为安全原因需要屏蔽客户端直接...原创 2020-01-20 10:48:33 · 254 阅读 · 0 评论 -
装饰模式(Decorator)
在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰模式来实现。装饰模式的定义与特点装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属...原创 2020-01-20 10:27:24 · 173 阅读 · 0 评论 -
适配器模式(Adapter)
在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器等。在软件设计中也可能出现:需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它们与当前系统的接口规范不兼容,如果重新开发这些组件成本又很高,这时...原创 2020-01-20 09:48:30 · 309 阅读 · 0 评论 -
原型模式(Prototype)
原型模式的定义与特点原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。例如,Windows 操作系统的安装通常较耗时,如果复制就快了很多。在生活中复制的例子非常多,这里不一一列举了。原型模式的结构与实现由于 jav...原创 2020-01-19 14:41:46 · 215 阅读 · 0 评论 -
建造者模式(Builder)
在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 OPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告诉计算机销售公司,计算机销售公司安排技术人员去组装计算机,然后再交给要买计算机的采购员。生活中这样的例子很多,如游戏中的不同角色,其性别、个性、能力、脸型、体...原创 2020-01-19 12:09:34 · 248 阅读 · 0 评论 -
单例模式(Singleton)
单例模式的定义与特点单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。在计算机系统中,还有 Windows 的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、应用程序的日志对象、数据库的连接池、网站的计数器、Web 应用的配置对象、应用程序中的对话框、系统中的缓存等常常被设计成单例。单例模式有 3 ...原创 2020-01-19 11:28:18 · 321 阅读 · 0 评论 -
抽象工厂模式(Abstract Factory)
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。因为抽象工厂不太好理解,我们先看看图,然后就和代码,就比较容易理解。模式的定义与特点抽象工厂(Abstrac...原创 2020-01-19 10:53:10 · 221 阅读 · 0 评论 -
工厂方法模式(Factory Method)
一、 普通工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口:package test.factory;public interface Sender { public void Send();}其次,创建实现类:邮件实现类package ...原创 2020-01-19 10:05:12 · 224 阅读 · 0 评论 -
java 的23种设计模式
设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来...原创 2020-01-19 09:35:36 · 215 阅读 · 0 评论 -
java pdf 使用itextpdf插入页码
代码如下package com.hyzs.szcg.doc.utils;import com.itextpdf.text.*;import com.itextpdf.text.pdf.*;import lombok.extern.slf4j.Slf4j;import java.io.FileOutputStream;import java.io.IOException;imp...原创 2020-01-15 18:26:41 · 2036 阅读 · 1 评论 -
java poi根据模板生成docx
一、实现功能1、支持表格、图像、插入页脚,其中图像包含base64 位和 只传入图像路径2、要求使用对应的模板 故只能作为参考3、里面的以下判断时根据 模板文件里面的key进行的特殊处理二、代码(版本 3.15)package com.hyzs.szcg.doc.utils;import java.awt.image.BufferedImage;import java....原创 2020-01-15 18:22:29 · 2057 阅读 · 0 评论 -
java poi 生成docx插入页脚
代码如下/** * 设置页脚的字体样式 * * @param r1 段落元素 */ private void setXWPFRunStyle(XWPFRun r1,String font,int fontSize) { r1.setFontSize(fontSize); CTRPr rpr = r1.getCTR...原创 2020-01-15 18:14:42 · 3057 阅读 · 2 评论 -
Springboot @Transactional捕获异常事务回滚
问题 一般情况下 try{}catch{}的使用回使得@Transactional注解失效可使用如下方式 实现事务回滚@Transactional(rollbackFor = Throwable.class) @Override public DocIstBO savePOIDoc(SaveDocDTO saveDocDTO) { try...原创 2020-01-14 18:21:42 · 1145 阅读 · 0 评论 -
springboot基本原理(知识点)
1、什么是springbootspringboot是一个服务于spring框架的框架,能够简化配置文件,快速构建web应用,内置tomcat,无需打包部署,直接运行。2、约定优于配置指的是什么?maven 的目录结构a) 默认有 resources 文件夹存放配置文件b) 默认打包方式为 jarspring-boot-starter-web 中默认包含 spring mvc 相...原创 2020-01-03 16:22:50 · 627 阅读 · 0 评论 -
itext 合并 pdf 并插入页码
第一步 引用jar <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.1</version>...原创 2020-01-03 15:41:23 · 2634 阅读 · 1 评论 -
springCloud eureka简单使用(入门系列)
springcloud 版本 Hoxton.RELEASEspringboot 版本2.2.2.RELEASE前提 springboot项目第一步 pom文件1、指定版本<properties> <java.version>1.8</java.version> <spring-cloud.version>H...原创 2019-12-19 11:52:19 · 190 阅读 · 0 评论 -
springboot配置日志
springcloud 版本 Hoxton.RELEASEspringboot 版本2.2.2.RELEASE第一步logging: config: classpath:logback.xml第二步<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 格式化输出...原创 2019-12-18 17:43:45 · 202 阅读 · 0 评论 -
springboot集成RabbitMQ
第一步<dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit-test</artifactId> <scope>test</scope></dependency>...原创 2019-12-18 17:30:23 · 233 阅读 · 0 评论 -
springboot集成MongoDB
第一步配置文件 配置spring: data: mongodb: host: 172.18.0.88 #IP地址 database: mongodb #数据库名称 port: 27017 #端口号第二步 使用实现类package com.zzh.elite.service.impl;import com.zzh.e...原创 2019-12-18 17:17:50 · 222 阅读 · 0 评论 -
spring boot 集成mybatis plus 3.2.0 及简单的使用
第一步<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus --><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter<...原创 2019-12-18 17:10:19 · 1745 阅读 · 0 评论 -
springboot 集成mysql
第一步 新增 jar <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>my...原创 2019-12-18 17:03:34 · 231 阅读 · 0 评论
分享