自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程之家出品

第一手资料关注公众号 程序员众推

  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 Windows如何解除文件占用

打开资源监视器,再关联的句柄输入占用文件的全路径,等待搜索完成后关闭占用的进程,如下图所示关闭sublime_text.exe即可解除占用。

2021-01-15 15:13:41 2328

原创 玩玩直播,搭建一个流媒体服务器

现在抖音、快手等直播实在是太火了,因此对音视频的开发非常感兴趣,查阅了相关资料,使用Nginx搭建一个简单的直播跟点播流媒体服务器,能够实时推流到服务器,同时在网页端播放直播的视频。先上效果​ 使用OBS软件录制电脑桌面操作推流到自己搭建的流媒体服务器,然后在网页拉流播放。当然也可以采集摄像头、麦克风推流,或者推送本地视频到流媒体服务器。搭建步骤Ubuntu18.04安装nginx-flv模块扩展这里我是用虚拟机安装了Ubuntu18.04先下载nginx1.19.3的源码与nginx-ht.

2020-10-19 08:48:02 2623 6

原创 Ubuntu安装ssh服务并开启root用户远程登录

先安装openssh-server服务,配置开启root登录,给服务器root设置下密码,使用ssh root@xxx远程登录即可,windows下也可使用putty,xshell进行ssh登录sudo apt install openssh-server #安装 ssh-server 服务ps -ef|grep ssh #查看服务是否正常启动sudo service sshd start #启动 ssh 服务vim /etc/sshd/sshd_config #在 sshd 文件中添加 Per.

2020-10-16 18:18:27 532

原创 记一次ElementUI源码修改过程

修改目的​ 使用ElementUI el-tree过程发现选中节点,键盘移动上下键时(key down\key up)el-tree默认高亮移动的节点,业务上需要重写此事件。​ 从官网发现该事件没有暴露回调接口,故想到了修改elementui源码,重新打包上传到公司的npm私服。定位代码​ 在chrome devtools的Elements选中节点,查看节点的EventListener中keydown事件,可以看到该事件在element-ui.common.js中定义。发现确实是elementui

2020-10-08 10:44:46 622

原创 springboot项目打包瘦身

默认情况下,Spring Boot 项目发布时会将项目代码和项目的所有依赖文件一起打成一个可执行的 jar 包。但如果项目的依赖包很多,那么这个文件就会非常大。这样每次即使只改动一点东西,就需要将整个项目重新打包部署,我们将依赖 lib 从项目分离出来,这样每次部署只需要发布项目源码即可。瘦身打包配置springboot默认使用spring-boot-maven-plugin 来打包,这个插件会将项目所有的依赖打入项目jar 包里面,将打包插件替换为 maven-jar-plugin,并拷贝依赖到 .

2020-10-03 07:44:51 177

原创 gradle springboot单元测试报错No tests found for given includes,

gradle springboot单元测试报错No tests found for given includes,具体错误见下图解决办法,如下图settings的gradle配置Run test using Intellij IDEA,项目的workspace.xml新增<property name="dynamic.classpath" value="true" />...

2020-09-26 23:56:04 1673

原创 Kafka开启JMX监控

在kafka的安装目录bin下找到启动脚本kafka-run-class.sh编辑kafka-run-class.shJMX_PORT=9527 //在脚本第一行添加JMX端口-Djava.rmi.server.hostname=本机ip //在kafka_JMX_OPS中新增指明本机ip使用jconsole连接kafka通过jconsole查看kakfa指标...

2020-09-25 11:29:25 954

原创 不用再上官网,自己部署一套ElementUI官方最新文档

ElementUI官方的访问速度一直很慢,公司内网也无法进行外网访问。故研究了下最新的ElementUI API(2.13.2)部署教程。先上效果图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vUcEzJgv-1600259652518)(https://i.loli.net/2020/09/16/6mEPRTNinXsO5eo.png)]ElementUI文档部署过程到github下载最新的elementui源码,这里我使用git下载到本地git clo.

2020-09-16 20:38:25 987 1

原创 Idea没安装几款好用的插件,怎么风骚的写代码???

​ 工欲善其事,必先利其器,好的工具可以提升我们的开发效率,越来越多的Java程序员从Eclipse转到了Jetbrains家的Idea。今天给大家介绍的是我常用的十几款Idea必装的插件。​ 没有几款好用的插件怎么风骚的写代码。插件列表LombokFree Mybatis pluginMybatis-log-pluginMaven HelperPOJO-to-JSONGenerateAllSetterSequenceDiagramKey promoter XIdeavimTr.

2020-09-14 08:46:33 154

原创 springboot2.x基础教程:动手制作一个starter包

上一篇博客介绍了springboot自动装配的原理。springboot本身有丰富的spring-boot-starter-xx集成组件,这一篇趁热打铁加深理解,我们利用springboot自动装配的机制,制作一个属于自己的starter包。制作一个starter包思路​ 这一篇博客我制作一个上传图片第三方图床的starter,集成常见的第三方图床sm.ms、imgur、github图床等。​ 本教程不会具体的讲解图床上传相关的代码,而是主要分析封装此starter的思路。首先安装spring.

2020-09-12 09:13:27 580 1

原创 springboot2.x基础教程:自动装配原理与条件注解源码分析

spring Boot采用约定优于配置的方式,大量的减少了配置文件的使用。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。当springboot启动的时候,默认在容器中注入许多AutoCongfigution类。在我们加入spring-boot-stareter-xx时,XXXAutoConfiguration类根据对应的条件,自动选择装配对应的Bean实例注入IOC容器中。先说结论SpringBoot启动的时候加载主配置类,开启了自动配置功能@EnableAutoCo.

2020-09-10 13:11:10 171

原创 Java Jar源码反编译工具那家强

本文介绍下Java Jar常见的反编译工具,并给出使用感受。反编译JAR能干什么: 排查问题、分析商业软件代码逻辑,学习优秀的源码思路。JD-GUI下载地址:http://java-decompiler.github.io/点评:支持的java版本不会太高,中文注释能够正常显示。Luyten下载地址:https://github.com/deathmarine/Luyten点评: 支持更多,但是中文不正常显示。底层使用的是Procyon。Jadx下载地址:https://githu.

2020-09-08 20:51:25 360

原创 sublime text3添加到右键菜单open with sublime text3

str3Path换成自己的sublime text3程序地址即可@echo offSET st3Path=D:\scoop\apps\sublime-text\3.2.2-3211\sublime_text.exerem add it for all file types@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3"

2020-09-06 23:20:14 407

原创 打造最强一款windows最强终端

在使用windows的过程中最不能忍受就是自带的Cmd终端了,又丑而且复制粘贴很麻烦。Cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令。今天使用cmder打造一款windows‘最强’终端(打上引号尊重广告法)。本教程涉及Cmder的美化、右键菜单、支持wsl、Vim配置以及绕过常见的坑。先上成品图安装​ 这里使用scoop安装Cmder,scoop如何使用见教程:Windows下强大的包管理工具Scoop,安装软件一个.

2020-09-06 00:44:38 576

原创 Windows下强大的包管理工具Scoop,安装软件一个命令全搞定

每次电脑系统重装后都要重新安装一堆软件配置开发环境,浪费了太多时间在这些没有意义的重复劳动上。在Ubuntu有apt-get,Macos上有Homebrew,这些都是很好的包管理工具,安装常用软件通常一行命令就行了。那么windows有没有类似的包管理工具,今天他来了。Scoop,Windows下强大的包管理工具,安装常用开发工具一个命令全搞定。文章导航安装Scoop安装条件PowerShell输入命令安装改变Scoop默认软件地址基本操作搜索软件安装软件查看已安装软件卸载软件查看软件安装信息利.

2020-09-03 10:06:04 2025 1

原创 springboot2.x基础教程:springmvc参数绑定注解今天彻底搞清楚

在编写SpringBoot项目中我们通常在Controller层使用@RequestParam、@RequestBody等注解接收前端请求参数。我们应该怎么使用各种注解,这片文章带大家把springmvc参数绑定使用彻底搞清楚。文章导航Http请求报文请求方法请求URL请求头部请求数据常见的ContentType1、application/x-www-form-urlencoded2、multipart/form-data3、application/json4、text/xmlSpringMVC参数.

2020-09-01 23:10:56 279

原创 springboot2.x基础教程:SpringCache缓存抽象详解与Ehcache、Redis缓存配置实战

在计算机发展史中一台计算机只需要外部存储器就能运行,但是在实际中磁盘的读取数据的速度往往跟不上CPU的运算速度,因此引入的内存作为CPU和外部存储器之间的缓冲区域。在项目开发过程数据库数据的查询速度远远比不上数据在内存中的访问速度,因此我们通常使用缓存来提高热点数据的访问速度,缓存可谓是计算机科学中最伟大的发明。文章导航缓存基本知识缓存命中率缓存策略缓存设置参数Spring注解缓存缓存相关注解集成Ehcache缓存引入依赖配置Ehcache缓存配置配置Redis缓存配置引入依赖Redis配置缓存注解.

2020-08-29 23:37:16 212

原创 springboot2.x基础教程:集成spring-data-jpa

Spring Data是Spring 社区的一个子项目,主要用于简化数据(关系型&非关系型)访问,其主要目标是使得数据库的访问变得方便快捷。目前支持的关系型与非关系型数据有Spring data JPA、Mongodb、Redis、JDBC、Elasticsearch…具体可查看Spring官网JPA全称为Java Persistence API(Java持久层API),它是Sun公司在JavaEE 5中提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具,来管理Java.

2020-08-27 06:32:27 163

原创 springboot2.x基础教程:集成mybatis最佳实践

前面文章介绍过SpringBoot结合Jpa实现对数据库的操作。今天介绍下SprigBoot集成Mybatis的相关知识点。Mybatis作为一个半自动化的ORM框架,根据条件动态拼接SQL,是其一大优点。贴合原生SQL的写法,方便开发人员灵活的编写复杂的SQL语句。SpringBoot集成Mybatis的配置还是相当简单的,教程并且会给出常见针对Mysql数据CURD、分页、批量操作的写法。本文导航SpringBoot配置Mybatis引入依赖配置数据源配置Mybatis参数增删改查最优写法单元.

2020-08-27 06:32:02 175

原创 springboot2.x基础教程:@Scheduled开启定时任务及源码分析

在项目开发过程中,我们经常需要执行具有周期性的任务,通过定时任务可以很好的帮助我们实现。常见的定时任务有JDK自带的TimeTask,ScheduledExecutorService,第三方的quartz框架,elastic-job等。今天要给大家介绍的是SpringBoot自带的定时任务框架,通过@Scheduled注解就能很方便的开启一个定时任务。Spring Schedule框架功能完善,简单易用。对于中小型项目需求,Spring Schedule是完全可以胜任的。本文导航TimeTask.

2020-08-27 06:31:34 430

原创 springboot2.x基础教程:过滤器和拦截器详解

在springboot web项目开发过程中,我们通常需要对请求与响应的内容请求拦截处理,如进行请求日志记录、UA检查、用户权限验证、非法内容过滤等功能,这时候过滤器与拦截器就派上用场。本文带大家讲解springboot如何使用过滤器与拦截器以及两者之间的区别。本文导航过滤器SpringBoot使用过滤器拦截器过滤器与拦截器区别过滤器Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。过滤器是一个实现了 javax.servlet.Filter 接口的 Java.

2020-08-27 06:31:13 302

原创 springboot2.x基础教程:@Enable*原理

上一篇springboot2.x基础教程:@Async开启异步任务我们使用了@EnableAsync注解来启用异步执行。SpringBoot框架中@Enable*注解有很多例如:@EnableAspectJAutoProxy、@EnableCaching、@EnableAutoConfiguration、@EnableSwagger2这一章讲讲它背后的原理。本文导航几个典型的@Enable*注解@EnableScheduling@EnableAsync@EnableAspectJAutoProxy@.

2020-08-26 22:22:27 159

原创 springboot2.x基础教程:@Async开启异步任务

在开发项目中通常我们有场景需要开启异步任务。比如在用户注册成功时,需要发放一些优惠券。此时为了不让这些额外的操作影响用户的注册流程,我们通常开启一个线程异步去执行发放优惠券逻辑。通常我们需要自己定义一个线程池,开启一个线程任务。在Springboot中对其进行了简化处理,自动配置一个 org.springframework.core.task.TaskExecutor类型任务线程池,当我们开启@EnableAsync注解时,在需要执行异步任务的方法添加@Async注解时,该方法自动会开启一个线程去执行。.

2020-08-26 22:21:30 307

原创 springboot2.x基础教程:JRebel实现SpringBoot热部署

当我们开发SpringBoot过程中通常比较频繁的修改代码,每次都要重启项目等待很长才能生效。Idea的Jrebel插件能够实现修改了代码的某一部分,不需要再次启动程序,随时修改,随时生效。接下来就给大家贴出Idea工具安装、破解JRebel这款神器的详细图文教程。本文导航Idea配置JrebelIdea安装Jrebel插件破解Jrebel首先本地运行jrebel-crack.jar在Idea的Help菜单中找到JRebel,Activation填入本地生成的破解地址最后最后,还要进行下简单的配置测试.

2020-08-26 22:20:28 591

原创 springboot2.x基础教程:日志配置

项目的开发过程中,开发人员对于日志一定不会陌生。日志能够记录程序运行的轨迹,输出软件运行中的关键信息,辅助我们排查与定位问题,优化程序运行性能,监控程序运行状态,不可不谓重要。SpringBoot项目的spring-boot-starter默认引用spring-boot-starter-logging,其中底层采用logback日志框架,默认零配置即可使用日志记录功能。在讲解springboot日志配置之前先简单谈谈JAVA日志有关的基础知识。本文导航日志记录的时机Java日志框架SpringBo.

2020-08-26 22:18:28 296

原创 springboot2.x基础教程:单元测试

单元测试用于测试单个代码组件,并确保代码按预期方式工作。单元测试由开发人员编写和执行。大多数情况下,会使用JUnit或TestNG这样的测试框架。测试用例通常在方法级别编写,并通过自动化执行。Spring Boot提供了一些注解和工具去帮助开发者测试他们的应用。在讲springboot单元测试之前,先简单介绍下软件测试的类型(从开发角度来说),跟如何写好一个单元测试。本文导航软件测试类型单元测试要点SpringBoot集成单元测试引入依赖依赖关系常用注解说明断言常见使用方法测试方法测试API接口.

2020-08-26 22:17:28 177

原创 springboot2.x基础教程:配置文件详解

当使用Spring Initializr构建springboot项目时,会自动在src/main/resources下产生application.properties文件。今天我们就来聊聊SpringBoot的配置文件。本文导航配置文件的作用配置文件的基本使用数字,字符串,布尔获取对象、Map写法与获取List、Set、Array获取总结下两种注解区别多环境配置配置文件优先级项目内部配置文件外部配置配置文件的作用SpringBoot采用“习惯优于配置”的理念,项目中存在大量的配置,采用默认配置,让.

2020-08-26 22:16:05 151

原创 springboot2.x基础教程:jsr303接口参数校验,结合统一异常拦截

JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Valida.

2020-08-26 22:14:21 310

原创 springboot2.x基础教程:接口实现统一格式返回

在SpringBoot项目中经常会涉及到前后端数据的交互,目前比较流行的是基于 json 格式的数据交互。但是 json 只是消息的格式,其中的内容还需要我们自行设计。不管是 HTTP 接口还是 RPC 接口保持返回值格式统一很重要,这将大大降低 前后端联调的成本。本文导航定义的接口具体格式提供的R类型工具类状态码设计定义的接口具体格式{ #返回状态码 "code":integer类型, #返回信息描述 "msg":string, #返回值 "data":object}提供的R类.

2020-08-26 22:11:29 192

原创 springboot2.x基础教程:Swagger详解给你的接口加上文档说明

相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。SpringBoot集成Swagger能够通过很简单的注解把接口描述清楚,生成可视化文档页面。原生的Swagger-ui界面很粗糙,这里用knife4j-spring-ui替代。本文导航一个好的HTTP接口文档描述SpringBoot集成Swagger项目引入依赖Spr.

2020-08-26 22:09:06 261

原创 springboot2.x基础教程:快速开始

本文导航Idea新建工程选择Spring Initializr项目使用Maven构建,指定Jdk版本为1.8,修改项目GroupId,ArtifactId选择SpringBoot版本,这里选择当前最新的2.3.2,勾选SpringWeb依赖至此下一步打开项目,下载好项目依赖,就可以正常启动SpringBoot项目这里是SpringBoot2.x教程第一篇开始,开发工具为idea+JDK1.8+Maven,学习前提大家也提前安装配置好开发环境Spring官方提供了非常方便的工具Spring Initia

2020-08-26 22:06:23 184

jar反编译工具合集,内涵bytecode,jadx,jd-gui,luyten.7z

java反编译工具大合集;包含jd-gui,bytecode-viewer,jadx,luyten最新版本

2020-09-09

空空如也

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

TA关注的人

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