![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 67
We Der
这个作者很懒,什么都没留下…
展开
-
Google内购 Java服务端(Springboot)校验订单详细流程
因为产品需要接入Google支付,这里记录一下进行Java服务端校验的过程。一、 Google Pay主要支付流程1.手机端向Java服务端发起支付,生成预订单,给手机端返回生成的订单号2.手机端向Google发起支付(传入本地服务器生成的订单号)3.Google服务器将支付结果返回给手机端4.手机端向Java服务端发送校验请求,校验通过后即可处理订单二、前提条件1.一台海外服务器(国内服务器请求Google服务器进行校验会出现请求超时的问题)2.接入Google服务的手机客户端3.浏览器原创 2021-07-06 16:43:32 · 2912 阅读 · 6 评论 -
Nginx配置防盗链,服务端JAVA实现(可用作视频、文件、图片资源等)
一、实现原理类似对称加密技术,在Nginx端设置好密钥,然后在服务端使用相同的密钥进行md5加密,生成资源链接后,再通过该链接进行访问Nginx,Nginx对链接信息进行校验通过后方可通行。二、Nginx配置1.进入到Nginx的安装目录2.输入命令./configure --with-http_secure_link_module,安装secure_link模块,接着执行make、make install3.执行完毕后,nginx -V查看是否成功安装4.进入到nginx的配置文件ngi原创 2021-05-06 17:59:06 · 630 阅读 · 0 评论 -
通过API接口同步数据到本地数据库工具(Springboot+Mybatis实现)
1、工具目录结构2、工具使用application配置(主要配置JsonToSqlUtil)JsonToSqlUtil: # 数据字段名,必须按json中的返回顺序写(英文,隔开) field: id,name,description,pictureUrl,url,testUrl,ttUrl,aaUrl,kakaka,createDate # 格式是时间的字段(英文,隔开) timeField: createDate,updateDate # 是否为时间戳格式 true or原创 2021-04-13 12:21:09 · 3279 阅读 · 1 评论 -
Springboot通过http请求将返回的json数据解析生成SQL插入数据库(用于数据库同步)
一、需求我们无法通过账号密码去访问客户的数据库,但是我们可以通过访问客户提供的接口去获取数据,因此,我们可以通过请求接口的方式,对返回的json数据进行解析,然后就能得到我们所需要的数据。通过配置文件的方式配置所需要信息,增强灵活性请求到的数据,如果在数据库存在就更新,不存在就插入如果json中某个数据不存在,则自动补全,并且置为空值,存入数据库中返回的数据如果存在时间戳,需要进行解析再存入到数据库中二、思路工具包:Httpclient:发送http请求jsonPath原创 2021-03-31 15:11:34 · 1666 阅读 · 1 评论 -
基于gitlab+jenkins+maven的系统发布流水线(Centos7全流程)
从零搭建基于gitlab+jenkins+maven的系统发布流水线一、Java环境准备(jdk 1.8)查看当前是否存在Java环境,如果存在 jdk 1.8,则进入下一个环节。java -version下载 jdk 1.8yum -y install java-1.8.0-openjdk配置环境变量vi /etc/profile输入 i 进入编辑模式,在文件的最后加上export JAVA_HOME=/usr/lib/jvm/java-1.8.0export J原创 2021-03-23 17:10:02 · 1076 阅读 · 2 评论 -
ElasticSearch基本语法
一、ElasticSearch与关系型数据库相似之处ElasticSearch与关系型数据库(Mysql、Sql Server)在语法使用上是有类似之处的。关系型数据库ElasticSearch数据库(database)索引(indices)表(tables)类型(types)行(rows)文档(document)字段(columns)字段(fields)二、基本数据类型(1)字符串类型: text(会被分词器拆分), keyword(不会被分词器拆原创 2021-03-09 15:54:12 · 733 阅读 · 0 评论 -
Springboot连接Redis超时问题解决
一、问题出现在使用Springcloud整合Redis作为缓存时,一段时间不去操作,再次刷新会出现连接超时的问题,具体如下:io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s)二、原因springboot 2.x 默认采用了lettuce作为连接池,但是lettuce是不会进行“心跳”操作的,也就是说,它不会保持连接,导致了连接超时。三、解决我们可以将连接池修改为jedis,jedis是原创 2021-02-22 17:19:34 · 11273 阅读 · 0 评论 -
分布式系统中的SSO(单点登录)的理解,以及解决方案
一、什么是单点登录?单一服务器模式的登录方案在单一服务器中,用户登录后,我们会选择使用Session对象存储用户登录信息,如果需要判断用户是否登录,可以直接在Session中获取信息,查看是否登录。分布式系统中的登录如图所示,用户在Service 1中登录后,确保运行在不同服务器中的Service 2 、3,一样可以得到用户的登录信息,这就是所谓的单点登录。二、单点登录的解决方案1.Session广播机制实现也就是在用户登录后,将单个服务器生成的Session信息,复制到所有服务器上,浪原创 2021-01-29 22:18:03 · 2723 阅读 · 2 评论 -
JAVA 使用阿里EasyExcel完成对Excel文件进行读写操作
一、EasyExcel简介EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。二、实现对Excel表格写操作1、新建一个Maven项目2、在pom.xml文件导入相关依赖<dependencies> <!-- https://mvnrepository.com/artifact/com.alib原创 2021-01-19 13:03:19 · 2780 阅读 · 4 评论 -
Eureka和Zookeeper的区别总结
1、CAP原则在分布式领域中,有一个CAP原则(数据库系统中也有一个ACID原则)C(Consistency):数据一致性A(Availability):可用性P(Partition tolerance):分区容错性CAP原则的特点就是,这三种特点只能同时满足两个,三者不可兼得。同时,而由于网络硬件肯定会出现延迟丢包等问题,所以分区容错性是我们必须需要实现的。也就是说我们只能选择CP或者AP。2、Zookeeper保证CPzookeeper选择优先保证一致性。zookeeper保证访问请原创 2020-12-28 20:53:39 · 340 阅读 · 0 评论 -
什么是RPC?简单了解一下Dubbo与zookeeper
一、什么是RPC?RPC(Remote Procedure Call),即远程过程调用。我们可以直接从字面意思去理解,就是进行对运行在远程的一些服务进行调用。下面我们举例说明:1.单一系统我们传统的系统,整个系统都是运行在单个服务器上,对于服务(如:下订单、支付、查询等)的调用,都是调用本地的(或者说服务是写在本地的)2.RPC远程过程调用,说白了就是不需要将服务写在本地上,转而直接调用在远程服务器上写好的服务。这么做有很多好处,比方说就算单个服务出现问题,也不会导致整个系统崩溃(对比原创 2020-12-17 12:45:18 · 1359 阅读 · 0 评论 -
这可能是最全面的Docker部署Springboot项目详解(Dockerfile+Mysql5.7+Nginx反向代理)
Docker部署springboot项目一、前言二、工具三、数据库准备一、安装Docker二、使用Docker部署Mysql(Redis之类的同理)四、Springboot项目准备五、上传jar包到Linux服务器中六、配置Docker七、使用Nginx反向代理为springboot项目配置域名(已申请了域名)一、前言参考了网上很多的Docker部署Springboot项目文章,发现很多都写得不够全面,这篇文章详细说明了Docker如何部署Springboot项目(附MySQL5.7 docker部署,原创 2020-12-06 17:06:19 · 830 阅读 · 2 评论 -
镜像二叉树-Java实现(附带图片过程)
1.思路:直接递归交换左右子树即可2.示例:3.步骤:至此完成二叉树的镜像JAVA代码如下:public class Solution { public void Mirror(TreeNode root) { //递归终止 if(root == null) return; //左右节点交换 TreeNode temp = root.left; root.left = root.right;原创 2020-11-29 10:36:39 · 327 阅读 · 0 评论 -
CRM客户管理系统(Springboot+MySQL+mybatis-plus+druid+swagger2+layui)
一、说在前面本项目是个人为了学习springboot开发的项目,参考了一些开源项目和学习视频,项目中的一些功能注释都是已经写好了,会有一些瑕疵、未完善的地方,仅供参考学习使用。下载地址1:Github下载地址2(推荐):Gitee博客地址:博客地址二、技术栈springboot数据库 MySQL 5.7前端模板 layui持久层 mybatis-plus模板引擎 freemark生成目录树插件 Z-tree数据连接池 Druid接口测试工具 swagger2图标展示工具 ec原创 2020-11-14 14:17:32 · 1125 阅读 · 0 评论 -
关于Springboot中的@Autowised 和 @Resource 注解的区别
开发springboot过程中,使用@Autowised注解出现红色下划线报错问题,查询后改用@Resource解决,在这里记录一下两者的区别相同点@Autowised 与 @Resource两个注解都可以用来进行对象的自动注入区别首先,@Autowised 是spring中的,@Resource是j2ee的,还有就是两种注入查找顺序的区别。@Autowised:(类型优先)1.默认在spring容器中找到实现类(byType),如图所示,会找到Demo的实现类DemoImp.原创 2020-10-17 14:10:32 · 861 阅读 · 0 评论 -
Java使用Jedis 在本地远程连接腾讯云服务器(CentOS 7)Redis配置
在本地使用Java连接远程的腾讯云服务器redis,需要进行的相关配置详解原创 2020-09-22 22:02:39 · 862 阅读 · 0 评论 -
理解一下饿汉单例模式、懒汉单例模式(双重检查锁、volatile)
使用Java实现饿、懒汉单例模式,理解其中的双重检查锁与volatile原创 2020-09-20 18:05:46 · 345 阅读 · 0 评论 -
基于Spring+SpringMVC+Mybatis(SSM)+Mysql 的简易用户管理系统(适合小白入门学习)
基于Spring+SpringMVC+Mybatis(SSM)+Mysql 的简易用户管理系统,小白可以参考学习~原创 2020-09-02 17:07:14 · 1550 阅读 · 1 评论 -
Spring中的IOC(控制反转)是什么意思?简单理解一下
简单理解一下何为控制正转、反转,Spring中的IOC原创 2020-08-15 22:48:24 · 995 阅读 · 0 评论 -
IDEA使用Mybatis进行连接Mysql并执行增删改查(CRUD)操作
一步步完成mybatis的CRUD小项目的搭建以及测试,对初学mybatis很有帮助原创 2020-07-27 18:24:05 · 3265 阅读 · 2 评论 -
使用JAVA流操作(POI)将Excel表中数据取出,并直接生成完整SQL语句
突发奇想,将excel中的所有需要导入数据库的数据,全部转换为一整条SQL语句。使用了POI进行excel的读取,然后使用字符串的拼接即可完成原创 2020-07-12 18:59:24 · 1410 阅读 · 0 评论 -
Maven管理工具必要配置之添加阿里云镜像
构建Maven项目时,默认是从官方网站下载依赖,也就是说需要从外网上下载,这就导致了加载速度极慢的情况(不翻墙),有可能会出现一直停留在Generating project in Batch mode的问题,配置阿里云镜像这可以避免这种情况的发生原创 2020-07-08 16:50:16 · 558 阅读 · 0 评论 -
JAVA通过反射机制访问/修改私有变量、方法(实现在其它类中访问/修改对象的私有变量、方法)
平常访问/修改类对象的私有属性,需要使用gei/set方法访问,这里我们也可以通过反射机制直接访问/修改原创 2020-07-04 23:53:43 · 6698 阅读 · 0 评论 -
JAVA 进行简单的JUnit单元测试
一、前言① JUnit是Java进行单元测试的一个框架。② 单元测试:个人理解,我们把一个大的项目中的各个小模块看成是一个个单元,能单独的对这一个个单元进行测试(无需使用main方法),就是单元测试要做的事情。二、进行单元测试对以下代码进行测试 int add(int a, int b , int c){ return a + b + c; }1.新建一个测试类(addTest):public class addTest { public原创 2020-06-12 15:59:00 · 458 阅读 · 0 评论 -
简单理解事务的ACID属性、事务的隔离级别,并用JAVA连接Mysql简单实现事务操作
简易理解事务的ACID属性,隔离级别,并用JAVA简单实现MySQL事务原创 2020-06-06 21:30:08 · 240 阅读 · 0 评论 -
在JAVA代码中说明、GIF中理解4个基本排序(选择、冒泡、插入、希尔)
JAVA代码和GIF理解选择排序、冒泡排序、插入排序、希尔排序原创 2020-05-30 00:10:00 · 223 阅读 · 0 评论 -
JAVA IO流使用之字节流、字符流、缓冲流、转换流、打印流、序列化流(长文预警!)
一、IO流概念我们把计算机中,数据的传输(比如复制粘贴)看作是数据的流动,IO流:I即是Input,输入流;O即是Output,输出流。我们可以站在电脑内存的角度去理解这个输入输出的意思。Input输入流:我们可以理解为把磁盘中的数据输入到内存中;Output输出流:同样的,就是把内存的数据输出到磁盘中。Java 中的IO流:Java 中关于IO流的操作,Jvm不是直接操作我们的磁盘流程为:代码 ->Jvm -> Os(当前操作系统) -> 进行文件操作二、字节流原创 2020-05-19 09:53:23 · 401 阅读 · 0 评论 -
JAVA 学习并行与并发、线程(Thread)、多线程、线程安全问题、线程同步( synchronized、Lock锁)
JAVA 线程学习一、并发与并行二、线程与进程三、JAVA线程(Thread)的使用使用方法一:继承Thread类使用方法二:实现Runnable接口三、多线程使用线程安全问题四、线程同步1.同步代码块2.同步方法3. Lock锁个人博客文章地址一、并发与并行并发:指两个或多个事件在同一个时间段内发生。并行:指两个或多个事件在同一时刻发生(同时发生)。并发个人理解是在同一时间段内,多个程序在人类看起来是同时执行的,但在单核处理器中,其实他们相互交替的运行,而因为他们的交替运行速度非常快(故看原创 2020-05-10 17:41:21 · 1389 阅读 · 2 评论 -
Eclipse导入一个JAVA web项目详解(附web项目源码)
前言对于初学者来说,导入一个Java web项目经常会遇到各种各样的问题,以下为导入一个Java web项目(网上找的图书馆管理系统)的全过程,以供参考工具Eclipse(以配置好tomcat)Mysql server 5.5Mysql workbench一、导入项目中的sql文件一个现成的Java web项目一般会附带一个sql文件,如图1.打开workbench如上...原创 2020-04-08 17:04:34 · 26996 阅读 · 14 评论 -
Java web项目 常见问题汇总
点此阅读效果更佳汇总一、网页报‘404’错误二、网页报‘500’错误三、项目中Error Pages错误四、导入的项目出现乱码五、报错 HttpServletRequest 无法解析为类型 或者 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path一、网页报‘404’错误这是常...原创 2020-04-06 17:35:49 · 3028 阅读 · 1 评论 -
JAVA通过jdbc连接MYSQL数据库(详细版)
对于Java的学习,了解通过jdbc连接数据库是很有必要的,下面以mysql数据库为例,通过JAVA的jdbc连接一、jar包的导入java连接数据库原创 2020-01-31 17:44:43 · 1721 阅读 · 0 评论