- 博客(89)
- 收藏
- 关注
原创 linux项目部署
1. 实现前端项目发布1.0 前后端调用说明:前端: web.jt.com后端: manage.jt.com (8091/8092)要求:前端通过域名访问后端的集群.修改main.js2.编辑addItem.vue 文件1.1 项目编译1.2 检查生成好的文件1.3 前端项目发布说明: 将前端编译后的文件目录,粘贴复制到Nginx根目录中,如图所示.1.4 编辑nginx.conf文件实现域名与静态资源文件映射2. ....
2022-04-09 13:57:21 2781 3
原创 SpringCloud微服务架构
什么是微服务微服务架构的基础是将的那个应用程序开发为一组小型独立服务,这些独立服务在自己的进程中运行,独立开发和部署。SpringCloud Alibaba微服务:Spring Cloud Alibaba 是Spring Cloud的一个子项目,致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以
2022-01-16 20:22:43 26334
原创 Elasticsearch下载安装 以及Reindex(数据迁移)
这里介绍使用的是Elasticsearch 7.6.1的版本,配置两台服务器,一台部署主节点,一台部署两个从节点。如果想下载安装其他版本,更改后面的版本号即可。
2024-04-14 09:12:08 2066
原创 JAVA微信公众号
自定义菜单文档自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多8个汉字,多出来的部分将会以“…”代替。创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页或公众号profile页时,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的菜单。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。
2023-05-07 21:32:11 1203
原创 xxl - 定时任务
xxl-job是一个分布式的任务调度平台,其核心设计目标是:学习简单、开发迅速、轻量级、易扩展,现在已经开放源代码并接入多家公司的线上产品线,开箱即用。xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。 xxl-job框架主要用于处理分布式的定时任务,其主要由调度中心和执行器组成。调度模块(调度中心):负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;
2023-03-24 18:02:37 1159
原创 list集合对sort的使用方法
List集合的排序:java提供了两种排序方式,分别是Collections.sort(List)和Collections.sort(List,Commparator),下面就这两种方法的使用做详细的说明:这个方法有分两种情况:1、比较的是基础数据 2、比较的是引用数据 1、基础数据的比较呢,一般都是直接比较,因为基础数据都实现了CompareTo()方法,例如比较的是引用数据,引用数据就必须要我们实现Comparable接口,并重写CompareTo方法,在此方法中指定排序原则,例如排序的情况如下
2023-02-28 11:24:57 3778
原创 java阿里云短信实现
准备工作: 需要获取以上对应的参数:签名名称模板CODEAccessKey IDAccessKey Secret以上四个参数为必要的接口api文档:SendSms - 发送短信 (aliyun.com)依赖:yml配置代码 并使用redis进行存储
2022-12-07 22:22:01 1032
原创 Activiti结合Modeler 可视化操作界面
为了更好的方便定义部署流程,需要把activiti功能放置在页面中。其中流程的设定是特殊麻烦的。需要集成其他工具进行使用。
2022-09-29 14:56:02 2250
原创 Activiti7工作流引擎
第一种方式:通过指定的文件名字进行上传/*** 第一种方式:根据指定的bpmn文件和png文件* 部署定义的流程 文件上传方式*/@Test//启动一个流程实例//1.得到RepositoryService实例//2.使用RepositoryService进行部署.addClasspathResource("bpmn/Leave.bpmn") //添加bpmn资源,需要将文件名字改成当前样式。带xml是不行的。..............................
2022-08-30 16:26:36 1509 1
原创 java使用WebSocket实现一对一实时对话
最近的项目中有实时对话的需求。这里也是查阅了很多的资料。使用webSocket实现一对一对话是最多的。链接: https://pan.baidu.com/s/1Vn1e1qw7nRnU1_4R-4fcGg提取码: qwer现在我们要给张三丰发一个你好,我们要解决下面两个问题这个你好怎么展示在我的窗口这个你好怎么展示在张三丰的窗口第一个问题很好解决,我们的消息都是存在一个数组里面的,而我们前端是使用vue实现的,我们只需要在发消息的时候把新的消息push到这个数组里面去就行了。............
2022-08-22 18:04:55 4315 10
原创 java实现物流查询(使用阿里云物流查询接口)
获取所有物流的编码,其实不传编码依旧可以查到,95%能自动检测,但是为了百分百保证查到准确的建议传入当前的物流编码:如:中通 ---> zto。首先进行购买阿里云快递物流查询接口,有免费的,测试的话大家可以购买免费的,非常方便。查询时,获取当前订单,当前订单的发货单号,以及物流编码查询详细的物流详情。购买完成后,点击进入自己的控制台。以及上方提供的接口详情,点进去复制直接用即可。应记录商品的发货单号,以及物流编码存入数据库中。逻辑如下:当发货人员发完货物,代码中包含,查询物流的编码。.........
2022-08-13 13:54:29 4619 1
原创 java实现一对一实时对话
必须先启动服务端再启动客户端才可,如果是两台电脑的情况下,只需要获得其中一个电脑的ip进行服务器启动,另一个进行链接即可。实现客户端的对话框,获取了服务端的ip地址和端口号后进行链接即可。很多商城项目中都有客户端与商家进行对话的情况。获取客户端登录用户的ip地址,通过用户的ip地址进行链接。...
2022-08-09 09:31:11 1293
原创 微信支付项目实战、创建订单到支付退款代码详解
Data//定义主键策略跟随数据库的主键自增//主键//创建时间//更新时间}@Data//订单标题//商户订单编号//用户id//支付产品id//订单金额(分)//订单二维码连接//订单状态}@Data//商品订单编号//支付系统交易编号//支付类型//交易类型//交易状态//支付金额(分)//通知参数}@Data//商品名称//价格(分)}@Data//商品订单编号//退款单编号//支付系统退款单号。..................
2022-07-21 11:52:06 2545
原创 前端的多种事件
事件描述onclick鼠标点击时触发ondbclick鼠标双击时触发鼠标按下时触发(只是按下的瞬间)鼠标移除事件鼠标划过,经过,移进时触发鼠标移动,指的是移动,时触发(与over的区别在于over只是在移进时触发一次,而move只要鼠标移动就会触发)onmouseout移开时触发鼠标右键菜单展开时触发。在此事件中ev.preventDefault()可阻止右键菜单的弹出。.........
2022-07-15 11:10:26 354
原创 minio安装部署及使用
下载地址:GNU/Linux2.新建minio安装目录,执行如下命令把二进制文件上传到安装目录后,执行: 后台启动,并打印日志默认的端口为:9000自定义端口方式:二、进行访问,并设置桶1.访问 地址:http://127.0.0.1:9000 输入账号密码后:进行创建桶,名字自取,创建完成后服务器home/minio/data下也会创建这个文件目录 进行设置:必须将规则设置成readwrite ,才可进行读取文件,否则只存或者只能读。 2.在 ap
2022-07-06 17:19:32 53277 22
原创 FTP部署及使用
*** @param url FTP服务器hostname* @param port FTP服务器端口* @param username FTP登录账号* @param password FTP登录密码* @param path FTP服务器保存目录* @param filename 文件名 6403_APP_YYYYMMDD_渠道标志_批次号.txt* @param inputStream 输入流* @return*/try {int reply;// 链接 FTP 服务器。
2022-07-05 19:07:18 3342
原创 SpringSecurity整合JWT+Oauth2认证
上一篇文章中基于SpringSecurity已经有了完整的详解,今天这篇文章基于SpringSecurity将Oauth2整合进去。项目依赖:一:创建所需要的User类,Menu权限类,WebUtils响应工具类(用于异常处理器中),SysResult响应数据工具类代码如下:User类权限类SysResult类WebUtils工具类二:实现UserDetailsService类,进行实现自己数据库获取用户信息和权限创建Mapper,编译xml进行获取用户的信息和权限:
2022-06-21 10:48:26 3121 6
原创 SpringSecurity框架
Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。它的核心是一组过滤器链,不同的功能经由不同的过滤器。这篇文章就是想通过一个小案例将Spring Security整合到SpringBoot中去。要实现的功能就是在认证服务器上登录,然后获取Token,再访问资源服务器中的资源。 对比Shiro框架来说,配置会更复杂一些,但功能更强大,Shrio安全框架上手快,配置简单。本次项目包含了:redis,mybat
2022-06-20 15:57:01 5166 3
原创 shiro框架
1.shiro简介1.1.基本功能点Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在 JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。· Authentication:身份认证 / 登录,验证用户是不是拥有相应的身份;· Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对..
2022-05-30 20:02:56 4296
原创 MySql 触发器
当你想要监控一个表的数据操作时,就需要创建触发器。通过触发器得到对应的的增、删、改的操作信息。一: 表 USER表USER为用户信息表,以此表进行触发器监控表的的各种操作。二:创建USER表的字表,用来存储USER表的操作信息及时间。创建子表,包含操作的id,时间,操作状态 等。create table t_change_log_t_USER( id varchar(255) PRIMARY KEY , create_time DATETIME, push_status
2022-05-25 09:34:30 196
原创 logback日志框架
优点:它比所有现有的日志系统都要快,而且占用空间更小,还提供了在其他日志系统中没有的独特而有用的特性。logback配置在项目中使用logback时,它会默认在项目的classpath路径下按顺序查找名为logback-test.xml、logback.groovy、logback.xml的配置文件,如果上述文件均未找到,则使用默认配置(默认日志输出级别为debug)。configuration<configuration>是logback配置文件的根节点,有scan、sac
2022-05-24 11:49:33 564
原创 kafka消息中间件
消息队列的好处:解耦合耦合的状态表示当你实现某个功能的时候,是直接接入当前接口,而利用消息队列,可以将相应的消息发送到消息队列,这样的话,如果接口出了问题,将不会影响到当前的功能。异步处理异步处理替代了之前的同步处理,异步处理不需要让流程走完就返回结果,可以将消息发送到消息队列中,然后返回结果,剩下让其他业务处理接口从消息队列中拉取消费处理即可。流量削峰高流量的时候,使用消息队列作为中间件可以将流量的高峰保存在消息队列中,从而防止了系统的高请求,减轻服务器的请求处理压力。一:d..
2022-05-23 16:21:01 1277
原创 MD5加密解密
加密后字母为小写 /** * 采用MD5加密解密 * * MD5加码 生成32位md5码 */ public static String string2MD5(String inStr) { MessageDigest md5 = null; try { md5 = MessageDigest.getInstance("MD5");
2022-05-17 16:02:36 6797
原创 单点登录系统
根据存储cookie来进行判断。实现单点登录。以及基于redis进行缓存数据一、创建SSO登录页面,进行其他服务时都会跳转到登陆页面中在idea中创建 login.html 登陆页面<!DOCTYPE html><html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Login ...
2022-05-13 16:07:29 809
原创 Hashmap排序
代码如下: @Test public void xxx(){ HashMap<String, Integer> map = new HashMap<>(); map.put("xxx10",12); map.put("xxx2",10); map.put("xxxq",3); map.put("xxxx",41); System.out.println(map); .
2022-05-09 16:22:36 996
原创 自定义拦截器
用于拦截请求,一般作用与单点登录系统。创建拦截器创建拦截器,必须实现接口HandlerInterceptor,并重写三个方法,添加业务访问所有Controller中的任何方法,都会触发拦截器,执行拦截器的功能package cn.tedu.interceptor;import org.springframework.stereotype.Component;import org.springframework.web.servlet.HandlerInterceptor;impor
2022-04-27 17:26:40 2730
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人