自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用@Validated注解导致Controller里注入的Service为空

今天在写接口参数校验时遇到一个问题,将注解@Validated写在Controller上时导致导入的Service为空。最终排查了半天终于发现了问题所在,先直接放上解决方法,下面再分析具体原因。通过断点调试发现注入的TestService为空,导致了空指针异常。将方法的private改成public。

2023-12-07 11:20:35 292

原创 实验数据管理与可视化分析系统【双库实现】

实验数据管理与分析系统,实现了对实验数据和统计数据的备份、统一管理、可视化分析展示、操作日志展示等功能。系统角色分为管理员与普通用户,普通用户可以上传实验数据到系统主库,将主库数据迁移到从库并进行操作,然后针对从库数据进行数据可视化展示。系统管理员可以直接操作主库实验数据,并对普通用户进行管理,查看系统用户操作日志。

2023-07-13 15:53:52 450 1

原创 SpringSecurity整合WebSocket并携带token

导入SpringSecurity的SpringBoot项目,在连接WebSocket时进行token校验

2023-04-07 09:35:12 7023 3

原创 Docker部署Springboot项目(含MySQL+Redis)

使用Docker部署之前写的一个博客项目,主要用到了MySQL和Redis,Redis作网站访问量统计。下面会对具体的部署方式作详细讲解。

2023-02-26 12:07:19 2371

原创 Golang实现微信公众号后台

个人订阅号无法进行微信认证,许多接口都没有权限,推荐使用个人页UI管理公众号。

2023-02-02 16:56:28 1605

原创 【设计模式】职责链模式

1)职责链模式(Chain of Responsibility Pattern) ,又叫责任链模式,为请求创建了一个接收者对象的链。这种模式对请求的发送者和接收者进行解耦。2)职责链模式通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。3)这种类型的设计模式属于行为型模式。

2022-10-19 09:18:57 155

原创 【设计模式】策略模式

1)策略模式(Strategy Pattern)中,定义算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户2)这算法体现了几个设计原则第一、把变化的代码从不变的代码中分离出来第二、针对接口编程而不是具体类(定义了策略接口)第三、多用组合/聚合,少用继承(客户通过组合方式使用策略)

2022-10-19 08:57:13 283

原创 【设计模式】备忘录模式

1)备忘录模式(Memento Pattern)在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态2)可以这里理解备忘录模式:现实生活中的备忘录是用来记录某些要去做的事情,或者是记录已经达成的共同意见的事情,以防忘记了。而在软件层面,备忘录模式有着相同的含义,备忘录对象主要用来记录一个对象的某种状态,或者某些数据,当要做回退时,可以从备忘录对象里获取原来的数据进行恢复操作3)备忘录模式属于行为型模式。

2022-10-19 08:55:35 107

原创 【设计模式】中介者模式

1)中介者模式(Mediator Pattern),用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互2)中介者模式属于行为型模式,使代码易于维护3)比如MVC模式,C(Controller控制器)是M (Model模型)和V (View视图)的中介者,在前后端交互时起到了中间人的作用。

2022-10-12 16:01:04 128

原创 【设计模式】观察者模式

观察者模式常用于一对多的监听情景,并且被监听者可以实现监听者的回调,也就是说被监听者能够触发监听者的动作,该动作就是回调。观察者模式的特点:1.被观察者不知道具体的观察者是谁,只知道自己被观察了,并且在合适的时机进行广播,让感兴趣的观察者知道发生了什么事情。2.观察者依赖于被观察者,被观察者不依赖于观察者,是单向关系,耦合程度不高。没有被观察者,观察者无法工作;没有观察者,被观察者该干啥干啥,因为被观察者本来就不清楚谁观察他,发广播是被观察的个人行为。

2022-10-12 15:58:42 147

原创 SpringBoot获取项目ip和端口号【内置和外置获取的两种方式】

当Springboot以内置的tomcat启动的时候,直接采用Spring提供的ApplicationListener接口来监听项目的启动,在启动的时候获取到项目的端口号即可。当Springboot,打成War包,放到外部tomcat中部署的时候,就需要剔除内置的tomcat容器,此时Springboot的启动流程就和上面不一样,好像就不再有初始化WebServer的步骤了。

2022-10-12 09:34:49 5778

原创 【设计模式】迭代器模式

1)迭代器模式( lterator Pattern)是常用的设计模式,属于行为型模式2)如果我们的集合元素是用不同的方式实现的,有数组,还有java的集合类,或者还有其他方式,当客户端要遍历这些集合元素的时候就要使用多种遍历方式,而且还会暴露元素的内部结构,可以考虑使用迭代器模式解决。3)迭代器模式,提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道集合对象的底层表示,即:不暴露其内部的结构。

2022-10-09 08:41:29 79

原创 【设计模式】访问者模式

1)访问者模式(Visitor Pattern),封装一些作用于某种数据结构的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。2)主要将数据结构与数据操作分离,解决数据结构和操作耦合性问题3)访问者模式的基本工作原理是:在被访问的类里面加一个对外提供接待访问者的接口4)访问者模式主要应用场景是:需要对一个对象结构中的对象进行很多不同操作(这些操作彼此没有关联),同时需要避免让这些操作"污染"这些对象的类,可以选用访问者模式解决。

2022-10-09 08:32:25 173

原创 【设计模式】命令模式

1)命令模式(Command Pattern):在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计2)命名模式使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活,实现解耦。3)在命名模式中,会将一个请求封装为一个对象,以便使用不同参数来表示不同的请求(即命名),同时命令模式也支持可撤销的操作4)通俗易懂的理解:将军发布命令,士兵去执行。

2022-10-03 09:53:08 335

原创 【设计模式】模板方法模式

1)模板方法模式(Template Method Pattern) ,又叫模板模式(Template Pattern)在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。2)简单说,模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤。3)这种类型的设计模式属于行为型模式。

2022-10-01 11:28:20 88

原创 【设计模式】享元模式的外部状态和内部状态

1)享元模式(Flyweight Pattern)也叫蝇量模式:运用共享技术有效地支持大量细粒度的对象2)常用于系统底层开发,解决系统的性能问题。像数据库连接池,里面都是创建好的连接对象,在这些连接对象中有我们需要的则直接拿来用,避免重新创建,如果没有我们需要的,则创建一个3)享元模式能够解决重复对象的内存浪费的问题,当系统中有大量相似对象,需要缓冲池时。不需总是创建新对象,可以从缓冲池里拿。这样可以降低系统内存,同时提高效率。

2022-09-29 08:45:43 916 1

原创 【设计模式】外观模式

1)外观模式(Facade),也叫"过程模式":外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用2)外观模式通过定义一个一致的接口,用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节3)外观模式介绍解决多个复杂接口带来的使用困难,起到简化用户操作的作用。

2022-09-27 16:33:23 113

原创 【设计模式】组合模式

1)组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层次关系。2)组合模式依据树形结构来组合对象,用来表示部分以及整体层次。3)这种类型的设计模式属于结构型模式。4)组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客户以一致的方式处理个别对象以及组合对象解决的问题1)组合模式解决这样的问题,当我们的要处理的对象可以生成一颗树形结构,而。

2022-09-26 08:53:18 147

原创 【设计模式】装饰器模式

装饰器模式:动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性,装饰器模式也体现了开闭原则(ocp)

2022-09-23 12:24:19 110

原创 【设计模式】桥接模式

1)桥接模式(Bridge模式)是指:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。2)是一种结构型设计模式3)Bridge模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。它的主要特点是把抽象(Abstraction)与行为实现(Implementation)分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展。

2022-09-22 08:27:44 169 1

原创 【设计模式】3种适配器模式

1)适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)2)适配器模式属于结构型模式3)主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。

2022-09-21 10:41:23 283

原创 【设计模式】建造者模式的4个角色

1)建造者模式(Builder Pattern)又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。2)建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。

2022-09-20 10:26:32 413

原创 【设计模式】原型模式的浅拷贝和深拷贝

1)原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象2)原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节3)工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建,即对象.clone()4)形象的理解:孙大圣拔出猴毛,变出其它孙大圣。

2022-09-19 11:34:10 222

原创 【设计模式】3种工厂模式

工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。

2022-09-19 09:52:07 208

原创 【设计模式】单例模式的8种实现方式

所谓类的单例设计模式,介绍采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。单例模式有八种方式1)饿汉式(静态常量)【可用】2)饿汉式(静态代码块)【可用】3)懒汉式(线程不安全)【不推荐】4)懒汉式(线程安全,同步方法)【不推荐】5)懒汉式(线程安全,同步代码块)【不推荐】6)双重检查【推荐】7)静态内部类【推荐】8)枚举【推荐】

2022-09-08 09:26:07 977

原创 SpringBoot整合Websocket综合示例项目

项目场景是每个系统用户有多条流水线项目,每条流水线可以进行构建操作,后端模拟构建接口,实时修改当前构建流水线的状态,由初始化 -》运行中-》成功或失败,前端能够实时展示流水线状态。一般网站实现该功能都是采用轮询的方式,在一定的时间间隔内频繁获取流水线列表已此来达到"实时展示"的效果

2022-08-23 11:33:08 907

原创 使用node-pty报错Uncaught Error: This socket has been ended by the other party

显然这个问题是由Node默认在 RW 模式下打开管道套接字引起的。百度了2天都没找出问题所在,最后还是在github上找到了答案。解决:将node 14 换成 node 13.14.0。主要出现错误的地方在ptyProcess.write。显然不能使用ConPTY进行终端进程通信了。...

2022-08-15 08:59:47 1475

原创 独立开发设计实现一个高校会议管理系统(Nacos+网关+微服务)

随着计算机性能和网络技术的飞速发展,各种传统业务的处理都开始逐步从手工趋向于互联网。高校的发展离不开教师和学生的发展,只有通过不断的交流学习才能促进成长,因此老师外出参加会议、培训和举办会议的次数也越来越多,而传统会议的逐级审批步骤繁琐且产生的纸质文件众多,这种手工管理的方式不仅效率低而且容易出错,所以利用信息化会议管理已经成为了高校的急切需要。本文贴近高校会议管理真实的应用场景,通过调研对软件需求进行分析,采用软件工程设计的思想方法,设计并实现了该会议管理系统。本系统主要分为两个部分,后台管理系统和前台用

2022-06-28 11:12:08 213

原创 基于G6-Editor的流程图编辑器

一、介绍一个基于G6-Editor的流程图编辑器组件二、依赖AntV-G6G6-Editorantd三、组件目录结构 - Flow -- images // 组件使用相关图片 -- error.svg //未编辑 -- success.svg // 编辑成功 -- type.svg // 节点类型 -- model // 分离小组件 -- ContextMenu.js // 右键菜单 -- DetailPannel.j

2022-04-11 12:47:34 3075

原创 ELK Stack学习笔记

一、ELK Stack简介1、Elasticsearch一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene(信息检索的工具jar包)基础上的搜索引擎,使用Java语言编写2、Logstash一个完全开源的工具,可以对日志进行收集、过滤,并将其存储供以后使用。是开源的服务器端数据处理管道,能够从多个来源收集数据、转换数据。并保存到存储库中3、Kibana一个开源和免费的工具,它可以为Logstash 和 ElasticS

2022-03-25 12:41:07 1890

原创 实现简单微服务单点登录(SpringSecurity+Gateway+Redis)

一、需求整个微服务项目有两个服务,一个用户鉴权服务和业务处理服务。基本需求是用户通过鉴权服务进行用户认证操作并返回令牌Token,后续通过token访问业务服务。二、项目基本结构- gateway- service - service-user - service-businessservice-user是用户鉴权服务,主要采用SpringSecurity实现用户鉴权。service-business则是一些业务操作。gateway主要用于服务分发三、鉴权服务用户鉴权服务实现的主要

2022-03-17 09:19:38 2617 1

原创 全球影视行业发达国家可视化分析系统(爬虫+数据可视化)

一、项目需求用正则表达式或者API接口的方法抓取这8个网站,经过数据清洗放到MySQL数据库,使用Web框架Flask、前端HTML、CSS、JavaScript等技术结合实现前台的显示,通过ECharts、Tableau等数据可视化工具绘图。二、技术选型1、爬虫采用Python的BeautifulSoup库,通过解析文档来抓取想要的数据。数据处理流程是先从网页爬取数据保存到excel文件中然后通过sqlalchemy将excel文件保存到数据库。2、可视化前端Layui+Echarts图表,

2022-03-16 21:42:03 24

原创 【JAVA】SpringBoot后端统一返回接口和异常处理

统一返回实体RespBean.javapackage com.swust.seckill.vo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;/** * @Date Created in 2021/8/11 13:39 * @Description 公共返回对象 */@Data@NoArgsConstructor@AllArgsConstructorpubli

2021-08-28 11:34:37 434

原创 【React】官网React哲学案例实现

React干啥的?用于构建用户界面的 JavaScript 库为什么要学?1.原生JavaScript操作DOM繁琐、效率低(DOM-API操作Ul)2.使用JavaScript直接操作DOM,浏览器会进行大量的重绘重排3.原生JavaScript没有组件化编码方案,代码复用率低命令式编码和声明式编码React的特点1.采用组件化模式、声明式编码,提高开发效率及组件复用率2.在React Native中可以使用React语法进行移动端开发3.使用虚拟DOM+优秀的Diffing算法,尽量

2021-07-19 23:05:13 186 2

原创 Redis笔记

Redis:开源、免费、高性能、K-V数据库、内存数据库、非关系型数据库,支持持久化、集群和事务一、Redis安装及配置1、用docker运行Redisdocker pull redisdocker run -d --name redis -p 6379:6379 redisdocker exec -it redis redis-cli2、Linux安装确保Linux已经安装gcc下载Rediswget http://download.redis.io/releases/redis-4.0

2021-06-15 10:21:23 230

原创 Redis安装编译时报错cannot find -lxxx【已解决】

2021年5月28日今天在服务器上安装redis遇到的问题解压redis-5.0.8.tar.gz后在解压目录/usr/local/redis下make时报错cannot find -latomic百度了一下应该是缺少了对应的链接库cannot find -lxxx 解决办法1、yum provides */libxxx.so (xxx = atomic)查找提供了这个库或者名称中带有这个库名的包2、找到包名 使用yum install xxxx 安装3、安装成功后进入redis目录

2021-05-28 14:20:33 578 2

原创 调用百度图像识别api处理网络图片(文字识别)

要想使用百度图像识别api得先注册一个百度账号,然后创建一个图像识别应用,获取其中的APPID、AK、SK账号注册什么的就不多说了,直接开始创建应用创建成功代码# -*- coding: utf-8 -*- # @File : img2num.pyfrom aip import AipOcrimport urllib.request'''使用百度api读取图片中的文字'''""" 你的 APPID AK SK """APP_ID = 'APPID 'API_KEY = '

2021-05-08 17:36:47 1392 2

原创 Python爬虫爬取中国电影票房排行榜

我们都知道浏览器向服务器发送请求时都会带上请求头,我们用python直接爬取网页源码时并没有设置请求头,所以服务器并不认识我们,认为我们没有登录。所以只要我们正确的设置了请求头就能正常获取数据了。通过pandas读取上面爬取到的excel文件,然后调用img2num.py文件里 的get_img_word方法转换图片。在未登录时获取多页数据会让我们先登录,当我们在浏览器登录过后,使用python读取到的网页数据还是登录页的代码。有的数据还是没有识别出来,如果想全部识别出来的话可以调整为高精度识别。

2021-05-08 17:22:28 6468 15

原创 Python爬虫爬取香港电影评分网站各榜单

Python爬虫香港电影评分网站各大榜单最新电影榜单步骤1、找到所有的榜单地址base_url = "https://hkmovie6.com"edit_url = "https://hkmovie6.com/collection" # 编辑精选marvel_url = "https://hkmovie6.com/collection/0bb46a15-ceaf-4cf0-a9ed-14284b32c5c1" # 漫威宇宙dc_url = "https://hkmovie6.com/

2021-05-08 13:38:33 2103 1

原创 Python爬虫爬取韩国电影售票评分网站电影排行榜Top250

Python爬虫韩国电影售票评分网站电影排行榜Top250步骤1、基本的爬取思路是先爬取排行榜中每个电影的详情页URL2、通过拼接URL获取详情页的具体地址3、通过分析电影详情页获取电影数据4、将爬取到的数据保存到Excel文件代码# -*- coding: utf-8 -*- # @Time : 2021/4/26 22:29 # @Author : hqf # @File : 韩国电影售票评分网站.pyimport requestsfrom bs4 import

2021-05-08 13:18:27 1814 2

基于SpringBoot开发的订餐管理系统

比较简单的练手项目

2021-08-02

空空如也

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

TA关注的人

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