物联网学习2、MQTT 发布/订阅模式介绍 MQTT 的发布/订阅机制可以很轻易地满足我们一对一、一对多、多对一的通信需要。这也在很大程度上拓宽了 MQTT 在 IoT 领域之外的应用,像网络直播互动、手机消息推送等行业场景,都非常适合使用 MQTT。
物联网学习1、什么是 MQTT? MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备之间的高效通信。MQTT 所具有的适用于物联网特定需求的特点和功能,使其成为物联网领域最佳的协议之一。
自定义注解+切面处理+全局异常处理 1、注解方法/** * 自定义注解签名参数验证 * xuxx */@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface ParamValidate { String value() default "";}2、切面处理类import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.Asp
springboot集成poi4.0开发导出word文件文件中包括表格和图表 项目中多多少少会用到导出word这样便于导出后进行细微的手动修改。目前我没找到一款插件可以引入直接导出word、直接用最原始的方法poi导出word根据模板方法,这个导出需要用4.0以上版本才可以。1、项目中引入依赖我的项目用的jdk1.8 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifact
springboot集成netty开发服务端和客户端 maven里面引入netty依赖<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.51.Final</version></dependency>创建NettyServer类package com.NettyServer.service;import
Nginx root和alias的区别 root和alias的主要区别是:使用root,实际的路径就是:root值 + location值。 使用alias,实际的路径就是:alias值。例如,有一张图片,URL是:www.awaimai.com/static/a.jpg它在服务器的路径是:/var/www/app/static/a.jpg那么用root的配置是:location /static/ { root /var/www/app/;}用alias的配置就是:location /static/
centos7安装nginx CentOS7安装Nginx安装所需环境Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用CentOS7 作为安装环境。一. gcc 安装安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:yum install gcc-c++二. PCRE pcre-devel 安装PCRE(Perl Compatible Regular Expressions) 是一个...
HDFS的Trash回收站功能 文件的删除和恢复 和Linux系统的回收站设计一样,HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户通过Shell删除的文件/目录,在系统回收站中都一个周期,也就是当系统回收站中的文件/目录在一段时间之后没有被用户恢复的话,HDFS就会自动的把这个文件/目录彻底删除,之后,用户就永远也找不回这个文件/目录了。在HDFS内部的具体实现就是在NameNode中开启了一个后台线程Emptier,这个线程专门管理和监控系统回收站下面的所有文件/目录,对于已经超...
@Transactional注解不生效 宁静的猫 1、在同一个类中,没有@Transactional注解的方法去调用有@Transactional注解2、@Transactional注解修饰的方法不是public的3、抛出的异常为checked类型但今天比较倒霉了,@Transactional失效,都不是以上3个原因。还原一下当时的情形:配置文件application.properties:spring.dataso...
spring boot 集成图形数据库Neo4j 一、安装Neo4j图数据库我下载的是免安装zip版本的1、解压ZIP包数据2、配置环境变量 创建主目录环境变量NEO4J_HOME,并把主目录设置为变量值。win10系统环境变量设置步骤NEO4J_HOME = F:eo4j- community-3.4.0 -- 根据自己的具体情况、Path = %NEO4J_HOME%\bin3、验证N...
经验:以后看到这种Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;类型的报错,显然要考虑依赖出错了 经验:以后看到这种Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;类型的报错,显然要考虑依赖出错了
spring boot 集成Quartz实现动态调度任务 1、首先引入jar包在maven中: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.3...
jdk8的stream去重函数distinct()以及自定义根据某个实体属性名称去重函数 以前我们要对某个list去重咱们想起来的肯定是先去循环这个list然后在新开一个list没次新加入元素到新建的list里面的时候、都要先判断一下新的list里面是不是已经加入这个元素了、这就非常麻烦了。jdk8开始出现了对集合操作的流stream,自带了多种方法。1、对某个字符串经过拆分然后对拆分后的元素去重。String data = "A/B/B/D/C"; List<...
一个任务分解成多个子任务每个子任务分配一个线程处理(多线程处理一批大数据) 1、首先需要理解CountDownLatch:CountDownLatch中count down是倒数的意思,latch则是门闩的含义。整体含义可以理解为倒数的门栓,似乎有一点“三二一,芝麻开门”的感觉。CountDownLatch的作用也是如此,在构造CountDownLatch的时候需要传入一个整数n,在这个整数“倒数”到0之前,主线程需要等待在门口,而这个“倒数”过程则是由各个执行线程...
在spring boot项目中使用Spring Boot Jpa 通过Druid配置多数据源、文章末尾对比Hakari连接池。 Spring Boot Jpa 介绍首先了解 Jpa 是什么?Jpa (Java Persistence API) 是 Sun 官方提出的 Java 持久化规范。它为 Java 开发人员提供了一种对象/关联映射工具来管理 Java 应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合 ORM 技术,结束现在 Hibernate,TopLink,JDO 等 ORM 框架各自为营...
Java反射 - 简单的给Bean赋值和取值、利用注解标注Bean属性字段根据顺序赋值 由于项目的实际需要,所以利用java反射原理写了一个简单给bean赋值和取值通用的类,项目中用到了读取excel、然后存到数据库表里面。但是根据excel的列序号读取出来然后在一个一个对应实体里面的字段、特别是一个excel有一百多个字段后期用户在中间添加删除字段真的把人搞晕了。然后我就想了一下能不能用自定义注解给实体的每个属性注解上序号然后读取excel里面的数据之后根据实体属性注解序号与exc...
SpringBoot 使用Swagger2建造在线接口文档 相信各位在公司写API文档数量应该不少,当然如果你还处在自己一个人开发前后台的年代,当我没说,如今为了前后台更好的对接,还是为了以后交接方便,都有要求写API文档。手写Api文档的几个痛点:文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。 接口返回结果不明确 不能直接在线测试接口,通常需要使用工具,比如postman 接口文档太多,不好管理Swagger也...
TortoiseGit拉取gitlab分支项目步骤 备注:前提本地电脑要先安装好Git一、初始化:1、在电脑上新建一个文件夹,进去!!!2、右键-Git Bash Here3、输入命令(建本地仓库): git init git add .(注意后面的“.”)4、右键-TortoiseGit-Settings:Git-RemoteURL中输入从Git网页上拿到的项目url点击“Add New/Save”...
idea根据数据库表生成实体model 最近项目中用的hibernate生成实体但是每个表的字段高达100多个、创建实体着实麻烦啊最后在网上找了一下可以用idea直接读取数据库表里面字段生成带注解的实体model。1、先在idea中连接到数据库。2、在模块中添加hibernate3、然后项目在idea的左下角就会出现这个4、点击persistence5、选择需要生成实体的表6、到此生...