- 博客(54)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 Java微信公众号推送模版消息
在申请完接口信息之后会需要配置一个接口信息,这个地方只支持端口是80和443的,这里直接把tomcat的端口直接改为80就可以了,可以看一下我的也可以直接看微信官方的,点完确定看到配置成功之后就可以使用了sendMessage.checkSignature(signature, timestamp, nonce, echostr)代码如下。
2022-10-19 11:11:16
981
原创 springboot动态定时任务整合quartz
springboot 动态定时任务springboot实现动态定时任务的方法有两种:可以实现SchedulingConfigurer 接口(可以见springboot 动态定时任务)整合quartz(当前文章要说的)springboot整合需要的依赖springboot整合quartz需要导入的依赖如下<dependency> <groupId>org.springframework.boot</groupId> <artif
2022-03-08 11:19:34
2560
原创 Aspose.word的Document对象的使用(一)
Aspose.word介绍Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务。Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式。使用Aspose.Words可以在不使用Microsoft.Word的情况下生成、修改、转换和打印文档。在项目中使用Aspose.Words可以有以下好处。使用Aspose.word操作word文档aspose.word jar包,这里还提供一种官方下载的方式,从
2021-11-03 17:39:13
6517
4
原创 mybatis-plus代码生成器的使用
mybatis-plus代码生成器的使用代码生成器一般都是为了程序开发方便,这里介绍一下mybatis-plus的代码生成器,可自动生成entity,mapper,dao,controller,service<dependencies> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactI
2021-09-26 10:29:14
1156
原创 关于Map集合给同一个键put值的问题
Map集合map集合最大的优点是键值对储存数据给Map集合中赋值遇到的问题比如给map集合的同一个key赋值的时候会出现数据覆盖的问题错误的赋值方式 Map<String, Map<String, Integer>> map=new HashMap<>(); for (int i = 0; i < 5; i++) { HashMap<String, Integer> hashMap = ne
2021-09-09 17:28:19
2400
原创 springBoot整合RabbitMq简单使用
springBoot整合RabbitMq相关使用相关springboot和rabbitMq需要导入的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>yml配置文件所需要的配置spring: rabbitmq
2021-08-26 15:18:23
224
原创 rabbitMq 死信队列(二)队列达到最大长度成为死信
队列达到最大长度成为死信在消息队列的声明中设置队列储存的最大消息个数,超过这个个数之后,如果还有消息进来就会变为死信消息放入到相关的死信队列中,大部分代码都是引用的上一章的代码rabbitMq 死信队列(一)消息被拒绝成为死信消息消费者C1编写主意如果之前构建过这个普通队列,需要将其删除后再启动C1消费者再进行构建,否则会报错public class CustomerOne { /** * 普通交换机 */ public static final Stri
2021-08-25 10:30:25
1029
原创 RabbitMq 主题模式(Topic)
rabbitMq 主题模式介绍主题模式可以简单的理解为可以动态路由,*代表一个单词,#可以代替零个或多个单词,单词最多 255 个字节,通过相关的匹配规则后就会将满足条件的消息放到对应的队列中,每个单词之间要用点隔开TopicProducer编写public class TopicProducer { public static void main(String[] args) throws Exception { Channel channel = RabbitMqU
2021-08-24 15:38:57
8729
原创 RabbitMq 路由模式(Routing)
RabbitMq 路由模式介绍路由模式主要是在发布订阅模式的前提上增加了一个routingKey,这样就可以给队列绑定一个rotingKey发消息指定routingKey给指定的队列发送消息,这样就只有单独的消费者消费消息了DirectProducer编写Routing模式主要是使用的direct交换机public class DirectProducer { public static void main(String[] args) throws Exception{
2021-08-24 14:22:15
1870
原创 RabbitMq发布订阅模式(Publish/Subscribe)
RabbitMq发布订阅模式介绍之前简单的工作模式主要是生产者发送消息到一个消息队列,比较单一,这里引入了交换机来化解这样的尴尬,只要是绑定了这个交换机的队列都可以收到消息生产者发送的消息,这样就像你和你朋友订阅了一个微信公众号之后收到同样的消息,这样就组成了发布订阅模式交换机的介绍一共有以下四种交换机:Direct Exchange(用于路由模式)Fanout Exchange(用于发布订阅模式)Topic Exchange (用于主题模式)Headers Exchanges
2021-08-24 11:31:02
1790
1
原创 RabbitMq 简单工作模式
工作模式简单介绍图中一个消息生产者,C1和C2为消息的消费者,他们之间为竞争关系,默认C1和C2之间的工作模式是轮询模式,例如P生产消息AA和BB,那么C1如果消费了消息AA,BB就会被C2所消费消息生产者代码示例public class DirectProducer { public static void main(String[] args) throws Exception{ Channel channel = RabbitMqUtils.getChannel(
2021-08-24 11:04:19
440
4
原创 RabbitMq 异步发布确认
public class ConfirmMessage { public static final Integer MESSAGE_COUNT=1000; public static void main(String[] args) throws Exception { publishMessageAsync(); } /** * 异步发步确认 * @throws Exception */ public static
2021-08-23 17:19:25
777
原创 RabbitMq安装和入门使用
RabbitMQ 简介RabbitMQ是一个消息代理 - 一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息在传输过程中的安全。RabbitMQ 安装安装之前必须有erl语言的支持,mq和erl语言版本对应列表,RabbitMq下载地址...
2021-08-23 15:12:44
222
原创 GeoServerRESTApi接口使用
GeoServerRESTApi接口使用api相关的操作:官方api操作文档前置操作首先REST要求对客户端进行身份验证。默认情况下,使用的身份验证方法是基本身份验证,在请求中带上用户名和密码,就比如在postMan中可以这样操作:这样就可以通过相关的校验通过验证在java程序中也可以模仿postMan中的操作来通过校验工作空间(workspace) 相关的Api操作新建一个工作空间请求方式:POSTurl地址:ip:8080/geoserver/rest/workspaces
2021-07-16 17:24:19
5472
4
原创 GeoServer使用——postgis作为数据和shapefile作为数据
GeoServer使用输入http://ip:8080/geoserver 打开geoserver的管理页面后layer Preview这个位置显示了所有的视图,通过红色区域中的OpenLayers可以在线查看视图,也可以查看GML数据,KML数据不支持在线查看只能通过下载这个红色区域代表了当前的图像文件是储存在 tiger工作区中,并且视图名叫giant_polygon,这个Name的结构大概是 工作区:视图名称工作区工作区主要是在这里进行创建和删除工作区的创建输入
2021-07-16 16:55:16
913
1
原创 GeoServer安装(2.19.1稳定版)
安装前置要求Tomcat(7.0.65或更高版本)Java 8或Java 11环境geoServer安装(以windows为例)geoServer最新版下载地址建议的安装地点是 C:\Program Files\GeoServer .设置环境变量新建->变量名"JAVA_HOME",变量值"D:\Java\jdk1.8.0_40"(即JDK的安装路径)编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\b
2021-07-16 16:21:58
2393
6
原创 克里金插值算法java实现
什么是克里金插值算法IDW(反距离加权法)和样条函数法插值工具被称为确定性插值方法,因为这些方法直接基于周围的测量值或确定生成表面的平滑度的指定数学公式。第二类插值方法由地统计方法(如克里金法)组成,该方法基于包含自相关(即,测量点之间的统计关系)的统计模型。因此,地统计方法不仅具有产生预测表面的功能,而且能够对预测的确定性或准确性提供某种度量。克里金法假定采样点之间的距离或方向可以反映可用于说明表面变化的空间相关性。克里金法工具可将数学函数与指定数量的点或指定半径内的所有点进行拟合以确定每个位置的输
2021-07-16 16:09:49
2749
5
原创 ElasticSearch 聚合学习(TopHits聚合使用)
TopHits聚合聚合后,每一个聚合Bucket里面仅返回指定顺序的前N条数据。应用场景例如可以展示出某一个网站文档浏览前N名的文档,es中储存的数据是用户每点击一次文档即浏览一次文档就会对文档进行储存{ "size": 0, // 仅过滤数据,不返回命中数据。 "query": { "bool": { "must": [ // 过滤条件,在聚合前先进行数据筛选。 { "terms": { "del"
2021-07-01 11:15:02
8568
2
原创 elasticsearch DSL查询之should查询
elasticsearch之should查询should查询在mysql中就好比是or或,但在es中使用should查询必须要和must一起使用才可以,相当于must[should A,should B],中文解释就好比是满足A或者是B条件的数据,如下这一段shoudl语句的大概意思是满足是用户A上传并且permission状态是private{ "bool" : { "must" : [ { "bool" : { "should" : [
2021-06-30 16:38:52
4171
2
原创 JAVA生成从2019年开始往后每一年的时间轴
public void timeline(){ // 日历类 Calendar calendar = Calendar.getInstance(); // 年 int year = calendar.get(Calendar.YEAR); // 月 int month = calendar.get(Calendar.MONTH)+1; int firstYear=2021; Ar
2021-06-30 16:24:43
428
1
原创 elasticsearch获取对应索引的mapping信息
elasticsearch获取对应索引的mapping信息ImmutableOpenMap<String, MappingMetaData> mappingsByIndex = transportClient.admin().cluster().prepareState().execute() .actionGet().getState().getMetaData().getIndices().get(IndexEnum.BEHAVIOR_HTML.getInd
2021-06-25 10:56:17
784
原创 SpringBoot+SpringSecurity+SpringCloudOauth2密码模式使用+RefreshToken(四)
Oauth2中的RefreshToken介绍refresh token是用于获取access token的凭据。refreshtoken由授权服务器颁发给client,用于在当前访问令牌变为无效或过期时获取新的访问令牌,或者获取具有相同或更窄范围的其他访问令牌(访问令牌可能具有更短的生命周期和权限少于资源所有者授权的权限。根据授权服务器的判断,发出刷新令牌是可选的。如果授权服务器发出刷新令牌,则在发出访问令牌时包括它刷新令牌是表示资源所有者授予客户端的权限的字符串。该字符串通常对客户端不透明。令牌表
2021-06-09 20:25:52
1930
原创 SpringBoot+SpringSecurity+SpringCloudOauth2密码模式使用(三)整合JWT格式的Token
Jwt介绍Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。JWT的构成第一部分我们称它为头部(header),通过base64加密第二部
2021-06-09 20:04:33
826
原创 SpringBoot+SpringSecurity+SpringCloudOauth2密码模式使用(二)
密码模式介绍相关代码和SpringBoot+SpringSecurity+SpringCloudOauth2授权码模式使用(一)是一样的不懂可私信博主或者看这篇文章图解:(A)用户向客户端提供用户名和密码。(B)客户端将用户名和密码发给授权服务器,向后者请求令牌。(C)授权服务器确认无误后,向客户端提供访问令牌。在授权服务配置类中增加相关代码在 configure(ClientDetailsServiceConfigurer clients)方法中的authorizedGran
2021-06-09 16:32:44
771
5
原创 SpringBoot+SpringSecurity+SpringCloudOauth2授权码模式使用(一)
资源拥有者其实就是真实的用户,用户授权给第三方应用访问在其他系统的用户信息。第三方应用访问授权用户的信息范围 scope 属于申请接入服务时选择的权限之内(例如:读或写访问权限)资源服务控制用户的信息,授权服务验证用户提供的信息是否正确并返回 access token 给第三方应用。 站在第三方开发者的角度看,被接入的系统提供的服务 API 同时实现了资源和授权角色。在这里把资源服务端和授权服务端统一为“服务角色或 API 角色”。客户端就是要求接入的第三方应用,获取用户在提供服务的系统的账户信息。
2021-06-09 15:58:00
1380
4
原创 SpringBoot+SpringSecurity整合(四)自定义Access
SpringSecurity角色和权限授权在登录成功之后,会有少部分资源不会给没有权限的人进行开放,比如说爱奇艺会员,只有会员才能看会员专享的电影,SpringBoot+SpringSecurity整合(二)中将当前用户的角色和权限加入到了UserUserDetails中,这样就可以进行角色和权限的判断了 @Override protected void configure(HttpSecurity http) throws Exception { // 表单登录
2021-05-27 19:47:33
1133
1
原创 SpringBoot+SpringSecurity整合(三)前后端分离时控制器Handler编写
SpringSecurity授权(二)SpringBoot+SpringSecurity整合(二)这里写了本章内容需要使用的知识对其不了解的可以看一看,如果是大佬请忽略SpringSecurity登录成功的控制器编写如果是前后端分离的项目,一般后端不会储存页面信息,所以不会在同一个端口或者地址上,所以要通过编写成功的控制器,SpringSecurity默认的控制器只能在当前项目下进行页面的跳转不能达到去访问外网的要求 @Override protected void configur
2021-05-27 18:16:39
422
原创 SpringBoot+SpringSecurity整合(二)整合mysql和MybatisPlus进行权限管理
SpringSecurity授权通过上一章SpringBoot+SpringSecurity整合(一)简单的使用了SpringSecurity,这一章将详细讲解SpringSecurity如何去授权数据库编写sys_user表DROP TABLE IF EXISTS `sys_user`;CREATE TABLE `sys_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET
2021-05-27 17:41:29
455
原创 SpringBoot+SpringSecurity整合(一)入门简单使用
SpringSecurity喜欢使用SpringSecurity框架的可以看过来,本篇文章涉及到springboot整合mybatis-plus有疑问可以点当前链接进入学习介绍Spring Security是为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了完整的安全性解决方案,可以在Web请求级别和方法调用级别处理身份认证和授权充分利用了Spring IOC,DI(控制反转Inversion of Control ,DI:Dependency Injectio
2021-05-26 20:26:51
492
3
原创 Springboot和easyExcel整合使用
Springboot和easyExcel整合使用EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(AnalysisEventListener)<!-- https://mvnrepository.com/artifact/com.alib
2021-05-25 15:39:57
1414
原创 springboot整合Mybatis-plus使用(乐观锁,逻辑删除,分页查询,自动填充和Wrapper相关的操作)
springboot整合Mybatis-plus使用
2021-05-21 14:50:16
867
1
原创 使用SpringBoot整合邮件服务器发送邮件
使用SpringBoot整合邮件服务器发送邮件本文主要使用网易163的邮件服务, 首先在https://mail.163.com/上注册一个账号,并且进入设置开启图下两项服务,获取到相关的授权码为后续整合使用引入以下依赖使用 <!--邮件模块依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo
2021-05-19 10:34:47
474
1
java gis生成单侧线性缓冲
2021-03-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人