- 博客(9)
- 收藏
- 关注
原创 【策略模式】在会员系统中的应用
什么是策略模式?策略模式,说白了,就是将一系列算法封装进策略类的子类里,根据不同的需求,执行不同的算法举个栗子;电商业务中,会员结算价格时,需要根据会员等级,返给用户不同的积分,或者满多少打折,这个时候就可以使用策略模式来代替传统的多层嵌套if普通注册用户:不减vip1:减2元vip2:减4元vip3:减6元代码实现定义策略接口public interface Strategy { /** * 价格计算 * @param payMone..
2021-02-24 16:47:54
171
原创 es中must和should的组合查询
使用must和should混用的时候,should不生效?列如,需要同时满足productRecomentd和location,shold中满足一个条件就返回,经过多次测试,发现should不起效果{ "from": 0, "size": 2, "query": { "bool": { "must": [ { "match": { "productRecommend": "1" ..
2021-02-04 15:19:43
3613
原创 SpringBoot自动配置原理
SpringBoot启动时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration@EnableAutoConfiguration1. 使用AutoConfigurationImportSelector.class给容器导入一些组件2. getCandidateConfigurations(annotationMetadata, attributes);获取候选的配置3. private static Map<String, List<String>>
2020-12-28 15:48:50
132
原创 java设计模式之装饰者模式
装饰者模式的定义1)装饰者模式:在不改变原有对象的情况下,动态的将新功能附加到对象,上。在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(ocp)2)这里提到的动态的将新功能附加到对象和ocp原则包含的4个角色抽象构件角色(Component):通常是一个抽象类或者一个接口,定义了一系列方法,方法的实现可以由子类实现或者自己实现。通常不会直接使用该类,而是通过继承该类或者实现该接口来实现特定的功能。(例如,对于动物类,有一个抽象方法输出所有的功能,基本功能包括:呼吸,觅食,睡觉
2020-12-28 15:43:18
139
1
原创 java设计模式之建造者模式
基本介绍1)建造者模式(BuilderPattern)又叫生成器模式,是-种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。2)建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式的4个角色1)Product(产品角色):一个具体的产品对象。2) Buider (抽象建造者) :创建一个Product对 象的各个部件指定的接口。
2020-12-28 15:42:49
86
原创 前后端分离的一个博客系统,前台使用Vue + view UI响应式布局,后台使用SpringBoot + myBatis-plus,使用shiro + JWT做登录认证和权限校验
项目介绍菲菲博客是一个前后端分离的博客系统,前后端全是由本人独立完成前端因能力有限,一边学习viewUI,一边做的,故前端可能还有很多地方需要优化之前做过ssm博客,由于现在前后端分离是未来趋势,所以,单独使用springboot+vue重新做一个,一方面是想学习下前端技术,另一方面也是为了搞个自己的博客,平时写点文章啥的。feiblog-vue:前台展示+博客管理 feiblog-java:后端前端介绍前台使用 Vue + View UI,响应式布局,适配手机+电脑+平板,不同角色登录展示不同
2020-11-04 23:09:24
414
转载 git error:could not lock config file
https://www.pianshen.com/article/6139306841/
2020-07-14 19:16:24
445
原创 java多线程下载文件(断点下载、进度展示、网速展示)
实现功能1、多线程下载2、可以设置是否开启断点继续下载(为了保护磁盘,默认关闭)多线程下载原理假如把文件比作成一个水缸,我们要从水缸把水取出来,单线程就是插一根水管接水,那么多线程就是插很多根管子同时接水。速度就可以大大的提升,当然,最大速度还是取决于你的网络带宽。断点继续下载原理下载文件的时候,把下载进度实时写入到本地临时文件储存,下次打开判断是否存在下载进度。基本步骤1、本地先创建一个大小跟服务器文件相同大小的临时文件2、计算分配几个线程去下载服务器上的资源,知道每个线程下载文件的位置
2020-07-07 19:46:37
3596
1
原创 java解析蓝奏云直连(解析真正文件地址)
使用htmlunit解析蓝奏云直连前言最近博客需要放文件,于是乎放在蓝奏云上面,奈何下载页面有广告,需要再次选择下载,比较麻烦,于是乎,自己动手获取直连,实现直接点击获取下载链接=======废话不多说,直接上代码使用框架(htmlunit)maven地址 <dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htm
2020-07-04 21:54:25
4995
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人