- 博客(25)
- 资源 (13)
- 收藏
- 关注

原创 (一)设计模式概论 -持续更新中
1.简史设计模式起源于建筑工程设计大师Christopher Alexander的关于城市你规划和建筑设计的著作。尽管他的著作是针对城市规划和建筑设计的,但是其观点实际上适用于所有工程设计领域,包括软件开发设计领域。–《设计模式》Christopher Alexander提出建筑设计的理念是创造出更加适合居住的社区结构,从而满足住户的需要。软件开发的设计理念也一样,通过不断的研究创新,用以...
2019-04-12 17:16:43
184
原创 WITH RECURSIVE递归
1.向上递归查询到父节点(避免死循环)WITH RECURSIVE org AS (SELECT *FROM tb_orgWHERE org_id IN(’**’) UNION ALLSELECT t1.*FROM tb_org t1, orgWHERE t1.org_id = org.parent_org_id AND t1.org_id != org.org_id)SELE...
2019-11-13 18:43:03
1869
原创 @Annotation 注解的使用,使用注解实现属性NotNull校验,实现为方法赋值。
注解基础的知识我就不多做说明了。直接通过代码实现,更为直观。package com.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.ann...
2019-09-19 14:47:19
2393
原创 Restful接口配置自定义的RestTemplete
RestTemplete默认不是支持所有的contentType,需要自己配置RestTemplete,添加自定的请求转换器,获取对应的contentType的数据并进行转换。import org.apache.http.impl.client.CloseableHttpClient;import org.springframework.context.annotation.Bean;imp...
2019-09-19 10:17:54
804
原创 linux上的注册文件转windows,用java实现向注册表添加注册文件,包含xml转map
<?xml version="1.0" encoding="UTF-8" ?><config> <TYP>0</TYP> <LEN>2</LEN> <MOD>0</MOD> <RN>0</RN> <HN>2</HN>...
2019-08-22 15:39:37
346
原创 java执行Windows命令工具类
package com.regedit;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;public class WindowsCommandUtil { /** * @Description do windows command ...
2019-08-21 18:35:47
382
1
原创 使用dom4j简单读取xml
使用dom4j简单读取xml public static void main(String[] args){ XmlReader xmlReader = new XmlReader("D:\\00csv\\sfrzcfg"); Document document = xmlReader.parseByPath(); Map<String...
2019-08-20 17:29:27
177
原创 CSV:运用工厂模式读取csv文件(简洁安全可靠型设计)
闲暇之余,想撸一些代码,刚好想到appcheck扫描会扫描出项目中依赖的jar的Component、Vision、License信息,最终可以导出.csv格式文件,而.csv是免费的,所以写了个demo读取csv。首先:我们创造一个CsvReader工厂类,来生产每一个CsvReader对象。代码简洁,就直接上代码了。package com.reader.csv.csv;import co...
2019-06-29 10:22:15
484
原创 postgre数据库单表批量更新
批量更新postgre数据库UPDATE tb_sub_task_org_assets_relationSET update_time = now( ),exec_detail = tmp.tmp_detailFROM(VALUES (‘13’,’{“xxx1”:“xxxx11”}’::json), (‘23’,’{“xxx1”:“xxxx12”}’::json)) as tmp(tmp...
2019-05-20 19:46:57
1376
原创 mybatis-plus DTO代码自动生成
import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.config.*;import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder;import com.baomidou...
2019-05-17 09:10:06
7320
3
原创 我们可以选择接受996,但是我们不应被996贬值
编者写这篇文章的主要看法是:我们可以选择接受996,但是我们不应被996贬值。最近996在996.icu结束后,又被马云、刘强东等大佬带火了。马云将996与奋斗者划上了等号,刘强东将996与兄弟划上了等号。最终资本主义獠牙完全暴露了。还记得2015年马云在韩国KBS采访时候说:我后悔创建了阿里巴巴,没有时间陪家人,现在又将996归类为奋斗者。马云先生也确实成功了,我以前很崇拜他,最近这番言论确...
2019-04-15 13:50:03
348
原创 命令模式
package com.example.designmodel;/** * 命令模式 */public class CommandModel { public class ReceiverTV{ private String name; ReceiverTV(String name){ this.name = name;...
2019-04-12 17:16:04
146
原创 模板方法模式
package com.example.designmodel;/** * 模板模式-模板方法模式 */public class TemplateModel { /** * 喝东西的时候,两个动作,倒饮品fillUp,喝drink。 */ public abstract class Drink{ //钩子方法-模板方法模式加入控制项控...
2019-04-12 17:14:27
132
原创 策略模式
package com.example.designmodel;/** * 抽象策略模式 */public class StrategyModel { /** * 定义抽象策略 */ public interface Strategy{ void calc(int a, int b); } /** * 定义具体...
2019-04-12 17:13:54
133
原创 观察者模式
package com.example.designmodel;import java.util.ArrayList;/** * 观察者模式 */public class ObserverModel { /** * 观察者-车辆 */ public interface Car{ void run(String event); ...
2019-04-12 17:13:19
140
原创 享元模式
package com.example.designmodel;import java.util.Hashtable;/** * 享元模式 */public class FlyweightModel { /** * 公司人员 */ public class User{ private String name; pr...
2019-04-12 17:12:27
156
原创 建造者模式
package com.example.designmodel;/** * 建造者模式 */public class BuilderModel { //抽象车辆建造者 public interface CarBuilder{ String sprayPaint(); String makeWheel(); String e...
2019-04-12 17:10:57
162
原创 工厂模式
package com.example.designmodel;public class Senders { public interface Sender { void send(); } public class MailSender implements Sender{ @Override public void...
2019-04-12 17:08:05
213
原创 单例模式
1.单例模式Singleton模式主要作用是保证在Java应用程序中,一个类只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为,比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。Singleton模式限制了实例的...
2019-04-11 14:10:18
171
原创 Spring Cloud学习之微服务架构(一)
Spring Cloud学习之微服务架构1. 什么是微服务架构1.1 面向服务架构(Service-Oriented Architecture)1.2 微服务与单体架构2. Spring Cloud2.1 Spring Cloud 特性2.2 Spring Cloud 组件1. 什么是微服务架构著名的OO(面向对象,Object Oriented)专家Matin Flower于《Microse...
2019-03-28 16:27:27
178
原创 Spring boot项目编译后打jar包
最近需要做一个jar包的项目更改,从svn导出项目后摸索了IDEA如何打jar。首先,从svn导出项目,导出的项目如果有maven依赖管理,需要先转成maven项目。解决掉冲突等问题后打jar包。点击下面按钮或者File->Project Structure添加一个jar,选择要作为jar的模块然后Build->Build Artifacts 选择要打为jar的项目,...
2019-02-19 17:20:23
546
原创 @JsonAnyGetter和@JsonAnySetter的使用
场景:在调用第三方接口时,对方接口可能会新增或者修改一些参数,你这边代码怎么做适配才能把所有参数接收到?@JsonAnyGetter和@JsonAnySetter可以很好解决,在不修改代码的情况下接收新增或者修改的参数。接收到json字符串String s = "[{\"s\":\"hah\",\"b\":\"hehe\",\"uuid\":\"uuid\",\"n
2019-02-01 11:00:46
5102
原创 jdk8的straem中的Collectors.toMap报NullPointerException
最近在用jdk8的stream 的Collectors.toMap 方法中,出现NullPointerException,查看源码发现用的是HashMap的merge方法,如果value为null,则抛出空指针异常。而key可以允许有一个为null,如果多个则抛出IllegalStateException。 List&amp;lt;UserInfo&amp;gt; userInfos = new ...
2019-01-30 09:48:54
1225
原创 一个java程序员看待互联网行业与物联网行业的区别
版权声明:本文为博主原创文章,未经博主允许不得转载互联网(Internet):又称网际网络,或音译因特网(Internet)、英特网,互联网始于1969年美国的阿帕网。是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。通常internet泛指互联网,而Internet则特指因特网。这种将计算机网络互相联接在一起的方法可称作“网络互联”,在这...
2018-09-11 15:19:43
5012
1
原创 启动tomcat时报错:The selection cannot be run on any server
学习spring boot时,用tomcat启动项目报 The selection cannot be run on any server错。找到原因发现是:Dynamic web module version和tomcat支持的版本不匹配。 解决办法:右键项目 -> Properties -> Project Facets ->Dynamic web module...
2018-09-11 15:16:40
5736
IDEA插件(阿里开发规约插件、findbugs插件)
2018-12-25
走出软件作坊-软件开发能力提高篇
2018-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人