自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HealerJean梦想博客

高级工程师成长笔记

  • 博客(324)
  • 收藏
  • 关注

原创 设计模式之简单化_Facade外观模式_简单窗口

前言1、解释外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。程序这个东东呢,肯定会总是越来越大,程序中的类会越来越多,而且他们相互关联,这回导致程序结构也变得复杂,我们在车里数量庞大的类之间错综复杂的关系,可以为它单独提供一个去医院看病,可能要去挂号、门...

2019-08-26 15:26:16 222

原创 设计模式之访问数据结构_ChainOfReponsibility责任链模式_推卸责任

前言博主github博主个人博客http://blog.healerjean.com1、解释场景:假设现在我们去公司领取资料。1、首先我们向公司前台打听要去哪里领取资料,她告诉我们应该去“营业窗口”。2、然后等我们到了“营业窗口”后,又被告知应该去“售后部门”。3、等我们好不容易赶到了“售后部门”,4、又被告知应该去“资料中心”,5、因此最后我们又不得不赶到“资料中心”。像这样...

2019-08-26 15:25:46 211

原创 设计模式之访问数据结构_Visitor访问者模式_访问数据结构并处理数据

前言博主github博主个人博客http://blog.healerjean.com1、解释您在朋友家做客,您是访问者,朋友接受您的访问,您通过朋友的描述(这就是数据),然后对朋友的描述做出一个判断(相当于处理数据),这就是访问者模式。把结构和数据分开,编写一个访问者,去访问数据结构中的元素,然后把对各元素的处理全部交给访问者类。这样,当需要增加新的处理时候,只需要编写新的 访问者类,让...

2019-08-26 15:25:12 152

原创 设计模式之一致性_Decorator装饰器模式_装饰边框和内容的一致性

前言博主github博主个人博客http://blog.healerjean.com1、解释假如现在有一块蛋糕1、如果只涂上奶油,其他什么都不加,就是奶油蛋糕。2、如果加上草莓,就是草莓奶油蛋糕。3、如果再加上一块黑色巧克力板,上面用白色巧克力写上姓名,然后插上代表年龄的蜡烛,就变成了一块生日蛋糕。像这样不断地为对象添加装饰的设计模式被称为Decorator模式 ,Decorato...

2019-08-26 15:24:32 175

原创 换行符差点让我打架

前言博主github博主个人博客http://blog.healerjean.com重构供应链代码,写的时候也没太注意,直接将之前的一些可靠的代码复制过来的,于是就有了换行的问题 。之前的代码中是按照\r\n进行换行的,也没啥问题,但是在我重构后就有问题了。之前的代码是在windows上运行的,它会先在本地生成一个txt,然后再上传到服务器。所以使用\r\n无可厚非,在我重构后直接生成的t...

2019-08-26 15:19:04 161

原创 Sublime中文乱码

前言博主github博主个人博客http://blog.healerjean.com1、Txt的文件格式从ANSI修改为UTF-82、安装插件2.1、Ctrl + Shift + p2.2、install package2.3、ConvertToUTF8 感兴趣的,欢迎添加博主微信 哈,博主很乐意和各路好友交流,如果满意,请打赏博主任意金额,感兴趣的在微信转账...

2019-08-26 10:19:56 10746 2

原创 设计模式之一致性_Composite组合模式_容器和内容的一致性(对象包含对象)

前言博主github博主个人博客http://blog.healerjean.com1、解释组合模式 一般用来描述 整体 与 部分 的关系,它将对象组织到树形结构中,最顶层的节点称为 根节点,根节点下面可以包含 树枝节点 和 叶子节点,树枝节点下面又可以包含 树枝节点 和 叶子节点。如下图所示:[外链图片转存失败(img-uL1Lf563-1566550768885)(D:\study...

2019-08-23 16:59:51 548

原创 设计模式之分开考虑_Strategy策略模式_多个策略实现同一个接口

前言博主github博主个人博客http://blog.healerjean.com1、解释策略模式,其实我们最开始借出Java就开始使用了,就是一个接口,多个实现方法,按照具体业务说呢,就是业务名字相同,但是具体处理不同2、实例代码场景:给定两个数,使用随机的策略,讲这两个数进行计算 ,开放式思维,哈哈 如下2.1、策略接口/** * @author HealerJean ...

2019-08-23 16:59:10 472

原创 设计模式之分开考虑_Bridge模式_将类的抽象部分和实现部分分离

前言博主github博主个人博客http://blog.healerjean.com文章内容采用自博客 https://www.cnblogs.com/WindSun/p/10260547.html1、模式动机​ 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案:1.1、第一种方...

2019-08-23 16:58:36 997

原创 设计模式之生成实例_AbstractFactory模式_将关联零件组装成产品

前言博主github博主个人博客http://blog.healerjean.com抽象工厂的工作是将抽象零件构件组装成抽象产品,我们不关心零件的具体实现,而是只关心接口,我们仅适用该接口将零件组装成产品1、示例程序1、示例代码1.1、抽象工厂 Factory (抽象类或者接口)/** * 表示抽象工程的类 制作 鼠标,键盘 */public abstract class F...

2019-08-23 16:57:49 150

原创 设计模式之生成实例_Builder模式_组装复杂的实例

前言博主github博主个人博客http://blog.healerjean.com1、业务场景**使用多个简单的对象一步一步构建成一个复杂的对象, **比如:肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,我们可以定义一个组装Meal类,和一个建造者类Builder调用这个组装类来制作一个复杂的对象1.1、外观模式和建造者模式的区别1.1.1、Builder...

2019-08-23 16:57:16 200

原创 设计模式之生成实例_Prototype复制模式_通过复制生成实例

前言博主github博主个人博客http://blog.healerjean.com1、业务场景**当创建对象的代价比较大的时候,采用这种模式, **实现方式、 容器,clone2、实例代码12.1、被复制的抽象对象@Data@ToStringpublic abstract class Shape implements Cloneable { public ...

2019-08-23 16:56:42 112

原创 设计模式之交给子类_FactoryMethod模式_将实例生成交给子类

1、解释 1、将实例的生成交给子类2、父类决定实例的生成方式,但并不决定所要生成的具体的类 工厂方法(Factory Method)模式的意义是1、定义一个创建产品的工厂接口(内部可能有多个产品)2、将产品实例生成的交给工厂子类3、我们通过子类工厂选择需要的产品,小米用到好处:使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。工厂方法模式是简单工厂模式的衍生,...

2019-08-23 16:55:37 149

原创 设计模式之交给子类_TemplateMethod模模式_讲具体处理交给子类.

前言博主github博主个人博客http://blog.healerjean.com1、解释父类中定义处理流程的框架,在子类中实现具体处理的模式 ,这种模式我们经常会遇到,项目中太多了就是说一个父类中有一些方法有不同的实现,需要多个子类来处理。2、业务场景看下面2中的内容 ,也就是说多个业务有重合的地方,重合的地方交给父类,子类继承,也可重写1、示例程序1.1、UML图[外链图...

2019-08-23 16:54:58 173

原创 设计模式之适应设计模式_Adapter模式_加一个适配器以便复用

前言博主github博主个人博客http://blog.healerjean.com1、Adapter模式有两种1、类适配器模式(使用继承的适配器)2、对象适配器 (使用委托的适配器)1.2、适配器模式和装饰器模式的区别装饰器与适配器都有一个别名叫做 包装模式(Wrapper),它们看似都是起到包装一个类或对象的作用,但是使用它们的目的很不一一样。适配器模式将一个接口转变成另一...

2019-08-23 16:54:32 154

原创 设计模式之适应设计模式_Iterator模式_一个一个遍历

前言博主github博主个人博客http://blog.healerjean.com标题上已经写明了,就是一个一个遍历1、示例程序1.1、场景讲书放Book到书架上BookShelf,然后使用iterator遍历讲书的名字信息打印出来1.2、UML图[外链图片转存失败(img-ecg2u7lL-1566550398888)(https://raw.githubusercontent...

2019-08-23 16:53:48 138

原创 设计模式之UML

前言博主github博主个人博客http://blog.healerjean.com来源于自己买的一本书 图解设计模式 ,博主这里做了一份笔记记录UML :统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言1、类图1、类与层次结构1、三个框 依次是 类名、字段名、方法名2、空心箭头表现了子类和父类之间的层次关系 ,...

2019-08-23 16:51:40 180

原创 idea激活_mac

前言1、将下载的压缩包解压到idea安装目录bin[外链图片转存失败(img-dOAyXamX-1564585960247)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/QQ20190731-225436.png)][外链图片转存中…(img-iOPEf28n-1564...

2019-07-31 23:13:21 562

原创 Json脱敏

前言博主github博主个人博客http://blog.healerjean.com这里有两种脱敏方式,一种是注解脱敏,另一种是字段名匹配脱敏1、注解脱敏1.1、注解/** * @author HealerJean * @version 1.0v * @ClassName SensitiveInfo * @date 2019/6/13 20:01. * @Descripti...

2019-07-30 12:25:03 3014 6

原创 Mybatis和Jpa的扫描配置

前言博主github博主个人博客http://blog.healerjean.com1、mybatis配置1.1、扫描Pojo和Example、mapper.java和mapper.xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> ...

2019-06-14 17:02:48 1695

原创 SpringBoot添加Profile文件夹同时作为Resource目录

前言博主github博主个人博客http://blog.healerjean.com1、maven1.1、激活测试目录local <properties> <profiles.active>src/profiles/local</profiles.active> </proper...

2019-05-31 17:46:35 2854

原创 Resion修改端口号运行

前言博主github博主个人博客http://blog.healerjean.com修改为8084端口1、resin.xml <server-multi id-prefix="app-" address-list="${app_servers}" port="6804"/>2、resin.propertiesapp.http : 8084we...

2019-05-31 17:16:25 763

原创 SpringBoot不使用内置的Tomcat

前言博主github博主个人博客http://blog.healerjean.com刚创建好的SpringBoot项目,默认给我们提供了内置的Tomcat,只要运行Application就可以启动项目了,因为使用了注解EnableConfiguration ,这里我们使用外置的tomcat来启动1、修改打包形式<packaging>war</packaging>...

2019-05-30 19:20:20 15072 1

原创 跨域解决以及重定向

前言博主github博主个人博客http://blog.healerjean.com1、跨域的一般解决方式1.1、配置拦截器1.1.1、token在healer传递的时候,一定要这里配置@Component@Slf4jpublic class CORSInterceptor extends HandlerInterceptorAdapter { @Override ...

2019-05-23 12:25:02 19551

原创 Freemarker_Thymeleaf_Velocity模板或者字符串渲染

前言博主github博主个人博客http://blog.healerjean.com1、Freemarker解析模板 <!--freemarker 模板--> <dependency> <groupId>org.springframework.boot</groupId> &...

2019-05-16 20:01:43 668

原创 Mybatis中mapper继承

前言博主github博主个人博客http://blog.healerjean.com1、mapper1.1、父mapperpublic interface FatherMapper { DemoEntity findById1(); DemoEntity extendMethod();}1.2、子mapperpublic interface SonMappe...

2019-05-15 15:11:13 10401

原创 Type和class以及比较是相等关系

前言Type是Class的父接口。Class是Type的子类。instanceofinstanceof操作符用于判断一个引用类型所引用的对象是否是一个类的实例。 public void instanceOf(Object object) { /** * == */ if(Long.class == object....

2019-05-13 14:36:40 1192

原创 SpringBoot项目创建Resource文件夹

前言博主github博主个人博客http://blog.healerjean.com针对于刚刚新创建的maven项目中没有resource文件夹,当我在设计一个service接口层的时候,没有考虑过放入资源文件,所以一开始没有创建resource文件夹,但是后来需要做一个freemarker模板项目,我需要一个文件夹来存放静态资源html模板文件1、设置-> Project Stru...

2019-05-13 14:11:05 8880 1

原创 Mysql中解释Explain 详解

前言博主github博主个人博客http://blog.healerjean.com优化神器 Explain 使用分析create table d001_index( id bigint(16) unsigned NOT NULL AUTO_INCREMENT primary key , name varchar(128) DEFAULT NULL, age bi...

2019-05-09 11:18:35 2679

原创 HashCode作用以及使用

title: HashCode作用以及使用date: 2019-02-20 03:33:00tags:SpringBootcategory:SpringBootdescription: HashCode作用以及使用前言博主github博主个人博客http://blog.healerjean.com感谢大神1、一些常见的HashCode1.1、Integer ...

2019-05-07 11:49:40 8901 1

原创 SpringBoot文件上传下载

前言博主github博主个人博客http://blog.healerjean.com习惯了使用OSS傻瓜式上传,是不是都快忘记写原生的上传了,今天小米的项目中需要用一下,所以之类简单总结下 吧MultipartFile file 方法名字内容file.getContentType()image/pngfile.getOriginalFilename()AAAA...

2019-04-26 17:54:08 351

原创 idea不能编译代码(utf-8乱码)

前言博主github博主个人博客http://blog.healerjean.com首先呢,吐槽一下网上的教程,一堆扯犊子的,没一个有用的,配置什么utf-8,配置个毛。这里想说,无需配置。尤其是下面个无脑解决方案,别祸害人间了 -Dfile.encoding=UTF-81、页面显示utf-8问题一般情况是单个页面的编码格式不是UTF-8,但是我想说的是,这种做法几乎用不到,除非,...

2019-04-25 18:21:58 2757 2

原创 改变SpringBoot默认的HttpMessageCoverter

前言博主github博主个人博客http://blog.healerjean.com正常情况下我们SpringBoot为我们提供了HttpMessageCorverter用于前后台数据的转化,经常我们会发现返回到前台的对象,字段是NULL,这些NULL其实本不应该返回给前端显示,无疑是增加了前端小哥哥,小姐姐的负担当然,你能想到的是使用@JsonInclude @JsonJgnore来解决...

2019-04-25 17:21:06 1349

原创 Mysql数据库字段设计

前言博主github博主个人博客http://blog.healerjean.com@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private Long adminId; //创建者idprivate String userName ; //新客户名称【id】邮箱private B...

2019-04-25 16:38:12 1638

原创 位运算符

前言博主github博主个人博客http://blog.healerjean.com1、字节描述一个字节为8位二进制位。字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。1B(byte,字节)= 8 bit(位);数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名...

2019-04-25 11:52:20 338

原创 自定义注解实现Json字段过滤

自定义注解: JSON过滤字段1、使用@JsonInclude(JsonInclude.Include.NON_NULL) 进行null值不给前台返回2、使用自定义注解讲有结果集的字段设置为null,这样就通过1 不给前台返回了1、自定义注解/** * @Desc: 自定义注解 * @Author HealerJean * @Date 2018/9/20 上午11:20. */...

2019-04-19 11:27:55 1855

原创 Idea使用httpclient调用接口

前言博主github博主个人博客http://blog.healerjean.com使用过swagger、觉得这个已经很方便了,再使用postman,觉得随便麻烦一些,但总算数据可以保存了。但是使用过idea的httclient之后,真的不想再使用他们了。1、打开方式1.1、关于下面这种方式呢,不建议使用,因为用了下面的,其实就和postman没区别了2、正确的使用方式2.1、...

2019-04-18 17:06:59 19463 2

原创 自定义工具类实现validate参数校验

前言博主github博主个人博客http://blog.healerjean.com相信项目中做一些htttp接口,避免不了要对参数进行校验,大多数情况下,其实我们只是校验是否为NULL就可以了1.1、简单判断是否为nullimport java.lang.reflect.Field;/** * 作者 :HealerJean * 日期 :2019/1/24 下午4:30. ...

2019-04-18 16:33:42 2107 1

原创 2019年3月25日入职了

入职了今天第一天小米上班,首先我觉得我是幸运的,年后提出的离职,那段时间我就在想,我这次一定要去一个受人尊敬的公司,首选其实就是小米,从用第一款国产智能手机开始,就是用的小米的手机,当时觉得性价比超级高。后来小米一步步做大,一点点牛起来,小米生态越来越多,再加上学长在小米,真的是令我羡慕啊!!!今后两年的目标是,将自己的技术提高能够扛起一个项目。为了实现这个目标,我决定做下面的几件事情:1...

2019-04-03 19:14:26 192

原创 mac下php的安装和配置

前言博主github博主个人博客http://blog.healerjean.com一、 启动ApacheMac系统已经集成了Apache环境,我们只需要一行指令就可开启Apache服务。终端输入sudo apachectl startsudo apachectl restartsudo apachectl stop输入电脑mac密码,即可开启apachesudo ...

2019-04-03 17:31:55 1789

空空如也

空空如也

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

TA关注的人

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