Java
PlanOne_A
立志成为一名优秀的全栈工程师
展开
-
【springBoot】springBoot配置拦截器
springBoot配置拦截器。原创 2022-11-28 13:46:55 · 532 阅读 · 1 评论 -
【接口幂等性】使用token,Redis保证接口幂等性
这个token令牌就相当于门票的概念,每次接口请求的时候带上token令牌,服务器第一次处理的时候去校验token,并且这个token只能用一次,如果用户使用相同的令牌请求二次,那么第二次就不处理,直接返回。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条,这就没有保证接口的幂等性。我点击确定时,向后台发送数据,并把这个token,放在请求头中。原创 2022-10-27 12:08:58 · 1139 阅读 · 0 评论 -
【elasticsearch】elasticsearch,elasticsearch-head-master ,Kinaba,中文分词器,Logstash 套件安装配置测试-linux windows
开放9200端口:修改esuser目录下的文件内容,可以使用esuser用户,修改其他系统文件,或者其他系统权限命令,切换成root。解压 、在elasticsearch-7.4.2\bin 下 elasticsearch-env添加JDK路径。ES会占用9200,和9300端口,9200是外部连接通信端口,9300是软件内部通信端口,开放9200就行。在这里启动后只能linux里访问,并且windows访问不了,所以还需要一下配置。修改配置文件,开放端口访问。修改完后启动,启动失败。原创 2022-10-10 20:02:30 · 749 阅读 · 0 评论 -
【SpringCould】Nacos安装配置及使用
在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。优先调用同一个集群中的服务(默认是随机),当前集群中的服务都不可用才会调用其它集群的服务。启用集群配置文件,指定每个节点的IP地址和端口(conf->cluster.conf)再以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql。JVM参数,测试集群就使用单机版的参数 (bin->startup.cmd)Nacos扩展了服务分级存储的机制,修改配置才能生效。原创 2022-10-09 17:03:37 · 159 阅读 · 0 评论 -
【Java】SpringCloud:Eureka、Ribbon、OpenFeign、Hystrix、zuul、 Bus、Gateway
Eureka是Netflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflix中, 实现SpringCloud的服务发现功能。Ribbon是 Netflix发布的一个负载均衡器,有助于控制 HTTP 和 TCP客户端行为。在 SpringCloud 中,Eureka一般配合Ribbon进行使用,Ribbon提供了客户端负载均衡的功能,Ribbon利用从Eureka中读取到的服务信息,在调用服务节点提供的服务时,会合理的进行负载。原创 2022-09-27 18:59:15 · 545 阅读 · 0 评论 -
【Linux】安装jdk1.8
JAVA_HOME=/usr/local/src/java/jdk1.8.0_151 这个是jdk的解压路径。1、在/usr/local/src/路径下新建java文件夹。2、上传JDK到/usr/local/src/java。输入java,以下就是安装成功界面。5、测试是否安装成功。原创 2022-09-14 11:32:41 · 258 阅读 · 0 评论 -
【Java】Spring Security + JWT 前后端分离及源码流程分析
。UsernamePasswordAuthenticationFilterAuthenticationAuthenticationManagerAuthenticationProviderUserDetailsService原创 2022-08-23 18:52:46 · 508 阅读 · 0 评论 -
【Java】Spring Security 简单上手
完成上面我们就对前端传过来的账号密码做了验证,但是还有验证码没有验证,所以还需要编写验证码过滤器,该过滤器是放在账号密码过滤器之前的,该UserDetails主要存在以下属性,显然,这些都是一些基本属性,由于我们还要做权限验证,这些属性是不够的,,由于我开始编写了一个多条件查询的方法,所以我直接用的是多条件查询,也可以写一个通过用户名查找信息的方法;第一个参数:username,就是我们需要验证的账号,也就是前端传过来的用户名。第四个参数:list,为该用户的所有权限,为后面做权限验证准备。原创 2022-08-22 12:13:10 · 418 阅读 · 0 评论 -
【Java】SpringBoot 全局异常捕获不到Filter中的异常的解决办法
SpringBoot 全局异常捕获不到Filter中的异常的解决办法,所以可以再写个过滤器专门用来分发到异常处理controller中,再有该controller来抛出异常,最后再通过SpringBoot 全局异常捕获。:当我想用 一个过滤器(filter)来对所有请求进行jwt校验,当校验不通过时我想抛出异常,然后再通过@ExceptionHandler来全局捕获该异常,发现SpringBoot 全局异常捕获不了filter中抛出的异常。.........原创 2022-08-15 15:46:36 · 3416 阅读 · 0 评论 -
【Vue】【 Axios】 配置响应、请求拦截器,及全局配置
【Vue】【 Axios】 配置响应、请求拦截器,及全局配置2、执行拦截器由于是在then 和 catch之前,如果后台返回 上述配置的拦截器中的 code 为:500 ,101等转态码时,不会执行;这里我是根据后台返回的状态码,执行相关的逻辑,该执行是在Axios的then 和catch之前。1、由于配置了Axios的全局属性,url 中直接写请求地址;在这中可以配置响应超时,请求次数等的逻辑处理。每次请求都会携带该数据。......原创 2022-08-15 10:40:47 · 835 阅读 · 0 评论 -
【Vue】引入axios提示axios is not defined?
【Vue】引入axios提示axios is not defined?原创 2022-08-12 15:37:01 · 1069 阅读 · 0 评论 -
【nodejs】gnvm管理工具的使用(升级,切换,删除等)
【nodejs】gnvm管理工具的使用(升级,切换,删除等)原创 2022-08-11 16:38:47 · 523 阅读 · 0 评论 -
【Java】spring boot生成jwt,并使用filter进行校验
在application.yml中添加jwt 的秘钥,以及过期时间,使用hutool依赖来操作jwt;lombok来记日志。expireSeconds:过期时间,10分钟。在Application中添加配置。secretKey:秘钥。原创 2022-08-10 15:31:41 · 539 阅读 · 0 评论 -
【Java】Spring Boot 配置Filter 解决跨域问题
【Java】Spring Boot 配置Filter 解决跨域问题。原创 2022-08-08 20:07:43 · 545 阅读 · 0 评论 -
【Java】spring boot 运行sql文件
【Java】spring boot 运行sql文件。原创 2022-08-08 11:31:09 · 1959 阅读 · 0 评论 -
【Java】 spring boot文件上传与下载
spring boot文件上传与下载。原创 2022-08-08 11:24:23 · 125 阅读 · 0 评论 -
【Java】读取Excel文件并产生sql
格局Excel 表格修改相应的sql语句。1)读取Excel产生sql文件。1)产生Excel方法。原创 2022-08-08 11:15:02 · 851 阅读 · 0 评论 -
【中文乱码】idea Springboot项目sout,debug控制台中文输出乱码解决方案
IDEA 2020.3.3版本,创建了Maven->Spring Boot项目,使用System.out.println(),@Slf4j 中的debug,info 控制台输出 出现中文乱码问题。最后在pom.xml文件中 标签中添加如下配置,解决了问题。原创 2022-08-04 10:15:22 · 1965 阅读 · 1 评论 -
【ERROR】No serializer found for class org.apache.ibatis.executor..。。。_$$_jvst94b_0[“handler“])
No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (thro原创 2022-08-03 19:41:38 · 263 阅读 · 0 评论 -
【Java】Spring Boot 配置 PageHelper分页插件
代码】Spring Boot 配置 PageHelper分页插件。原创 2022-08-03 19:01:20 · 665 阅读 · 0 评论 -
Spring 事务控制
Spring事务控制。原创 2022-07-27 09:37:45 · 100 阅读 · 0 评论 -
Java 动态代理
分类有实现类,代理可以增强功能,典型场景,Service方法加上事务没有实现类,代理可以实现功能,典型场景,MyBatis的Mapper接口例子1有实现类编写接口编写实现类实现InvocationHandler接口的类产生代理对象例子2无实现类编写接口产生代理。......原创 2022-07-26 14:42:37 · 104 阅读 · 0 评论 -
Java【mybits编程】
mybits编程步骤:1、创建jdbc连接文件【jdbc.properties】jdbc.username = rootjdbc.password = 123jdbc.url = jdbc:mysql:///testjdbc.classDriverName = com.mysql.jdbc.Driver2、创建mybatis-coonfig.xml配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurati原创 2022-04-18 20:04:23 · 150 阅读 · 0 评论 -
Java【JDBC】
JDBC(Java DataBase Connectivity):JDBC有什么用?能够帮助我们实现用Java语言操作数据库JDBC的本质?JDBC是JavaEE技术之一JDBC就是SUN公司提供的一套规范,一套接口JDBC的编程步骤?1、导入jre包2、注册驱动3、获取数据库连接对象4、获取执行sql语句的对象5、执行sql语句6、释放资源package jdbc;import java.sql.Connection;import java.sql.Driver原创 2022-04-16 16:41:45 · 112 阅读 · 0 评论 -
Java【super关键字】
super关键字什么是super关键字?super是父类内存空间的标记,在用法上,我们可以当做分类对象的引用来使用,但是我们不能说super就是父类对象的引用。super关键字和this关键字的使用?调用构造方法?//有参构造方法super(参数)//无参构造方法super()调用成员方法?super.方法名(); 调用父类中的成员方法;this.方法名(); 调用本类中的成员方法;调用成员变量?super.变量名; 调用父类中的成员变量;this.变量名;原创 2022-04-16 10:48:23 · 212 阅读 · 0 评论 -
Java【static关键字】
static关键字:什么是static关键字?它是一个修饰符,代表静态的意思,他可以修饰成员变量和成员方法,不能修饰构造方法。static关键字有什么特点?1、被static所修饰的成员是随着字节码文件对象的加载而加载,所以是优先于对象存在于内存中;2、被static所修饰的成员被该类下所有的对象所共享;3、被static所修饰的成员可以通过类名.直接调用; 类名.属性名 类名.方法名()static关键字注意事项?1、静态方法中不能有this关键字;ps:this 表示对象的引原创 2022-04-16 10:06:14 · 204 阅读 · 0 评论 -
Java对象的内存模型分析
以以下代码为列:public class NeiChun { public static void main(String[] args) { // TODO Auto-generated method stub Student s = new Student();// null -- 0 System.out.println(s.name+"---"+s.age); s.name = "小明"; s.age = 18;// 小明---18 System.out.原创 2022-04-15 18:31:59 · 374 阅读 · 0 评论 -
Java【方法的重载(Overload)】
方法的重载(Overload)?什么是方法的重载?是指在同一个类中,出现两个方法的名字相同,参数列表不同(参数的个数不同,数据类型不同,对应的顺序位置不同)的两个方法,就称为方法的重载,方法的重载和返回值类型无关例子: public class Demo01 { public void aaa() { } public void aaa(int i) { } public void aaa(int i, int j)原创 2022-04-15 17:42:33 · 110 阅读 · 0 评论 -
Java【二位数组的定义及格式】
什么是二位数组?元素为一维数组的数组就称为二维数组。二维数组的定义格式?格式一:元素的数据类型 [ ] [ ] 数组的名字 = new 元素的数据类型 [二维数组的长度] [一维数组的长度]int [ ][ ] arr = new int [3] [2]格式二:元素的数据类型[ ][ ] 数组的名字 = new 元素的数据类型 [二维数组的长度] [ ];int [ ] [ ] arr =new int [3][ ]格式三:元素的数据类型 数组的名字= {{元素1,元素2,原创 2022-04-15 17:34:14 · 302 阅读 · 0 评论 -
Java【三元运算符】
格式: 条件表达式 ? 表达式1 :表达式2; 条件表达式的结果一定是boolean类型执行流程:如果条件表达式为true,就会执行表达式1,不会执行表达式2;如果条件表达式为false,就会执行表达式2,不会执行表达式1。例:获取两个数的较大值: public class SanMuYunSuan { public static void main(String[] args) { // 获取两个数的较大值 int i = 1; int j = 3; //条原创 2022-04-15 13:23:37 · 143 阅读 · 0 评论 -
++i和i++的区别
++i和i++的区别单独使用的时候是没有区别的,但是如果当成运算符,就会有区别了!我们用a=i++和a=++i举例说明:1.先说a=i++,这个运算的意思是先把i的值赋予a,然后在执行i=i+1;当i初始等于3时,执行a=i++,最终结果a=3,i=4.2.而a=++i,这个的意思是先执行i=i+1,然后在把i的值赋予a;当i初始等于3时,执行a=++i,最终结果a=4,i=4.所以说两者参与运算时的区别就是:a=i++ , a 返回原来的值a=i,i=i+1;a=++i , a 返回加1原创 2022-04-15 13:07:15 · 1495 阅读 · 0 评论