自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 webscoket前后端代码包含心跳机制

3、建立一个websocketservice处理类。2、建立一个websocketconfig配置类。

2024-07-25 17:08:56 279

原创 代理模式

代理模式是经典的设计模式之一,目的是为了扩展和增强类或接口。代理模式通常分为静态代理模式和动态代理模式。

2022-10-08 22:48:49 312 1

原创 【无标题】

工具类

2022-08-31 21:53:37 198

原创 Blob数据类型、数据库事务

1、Bolb是二进制长对象的意思,通常用于存储大文件,通过二进制数据保存到数据库里,并可以从数据库里恢复指定文件。2、如果需要将图片插入数据库,不能通过普通的SQL语句完成,Bolb常量无法表示,所以将Bolb数据插入数据库需要使用PreparedStatement。该对象有一个方法:setBinaryStream(int parameterIndex ,InputStream x) 该方法可以为指定参数传入二进制流,从而可以实现将Blob数据保存到数据库的功能。3、当需要从ResultSet里..

2022-05-19 21:22:10 10680

原创 json文件转化Java对象,并读取数据

JSONObject类JSONObject是一种数据结构,相当于JSON格式的数据结构(KV结构),可以使用put方法给json对象添加元素,JSONObject可以方便转化成字符串和对象。pom文件引用 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <

2022-04-18 15:29:41 2605

原创 基础练习巩固,后续慢慢补充

Java语言的内存回收机制:内存回收线程负责释放无用内存。Java程序不允许用户使用指针来释放内存。,>>和>>>符号两个表示数据带符号向右移动,三个的表示数据不带符号向右移动,主要应用在十进制和二进制之间,向右移动的位数要看后面的数字,假如为2,那么就向右移动两个位数。ResultSet中记录行的第一列索引为1因为ResultSet数组是从1开始遍历的,ResultSet是jsp,用来接收获取的数据库信息,查询时也是从第1列开始的。线程中run方法和start方法的.

2022-04-13 22:22:26 969

原创 ORA-00001,Oracle数据库报错问题

ORA-00001原因:在进行插入insert或者update的时候,违反了唯一约束,导致操作数据时出现了重复的值。解决方案:1、删除或者更改唯一约束2、修改SQL语句如果进行多表操作时,出现了唯一索引错误,可以使用语句进行查询:select distinct table_name(字段名)from all_indexes(表名)where index_name='constraint_name'(约束名)...

2022-04-13 20:50:27 22039

原创 今日有关的二维数组

2022-03-29 21:55:04 207

原创 Oracle数据库

数据库中的数据类型NUMBER:数字类型,经常被定义NUMBER(P,S)形式,其中P:表示数字的总位数,S:表示小数点后面的位数。例:NUMBER(6,2):整数位最大为4位,小数位最大为2位。CHAR:表示固定长度的字符类型,经常被定义成CHAR(N),N表示占用的字节数,最大长度是2000字节。VARCHAR2(Oracle特有的数据类型):表示变长的字符类型,定义格式是VARCHAR2(N),N表示最多可占用的字节数,最大长度是4000字节。DATE:用于定义日期时间的数据,长度是7个字

2022-03-15 22:25:14 347

原创 SpEL表达式

主要功能:可以在spring容器内实时查询和操作数据,尤其是操作List列表型,Array数组型数据。用法在注解@value中使用在XML配置中使用在代码中创建Expression对象,然后使用。@value可以加在class的成员变量和形参上。 //@Value能修饰成员变量和方法形参 //#{}内就是SpEL表达式的语法 //Spring会根据SpEL表达式语法,为变量arg赋值 @Value("#{表达式}") public String a

2022-02-24 18:33:14 448

原创 redis在Windows下的操作以及缓存注解的设置

启动redis首先切换到redis安装目录,进入cmd窗口,输入redis-server.exe redis.windows.conf,开启redis,不要关闭窗口。再开一个cmd窗口,切换到redis目录下,输入redis-cli -h 127.0.0.1 -p 6379,这样可以连上本地的redis数据库。如果想要连接远程的redis数据库,需要先将redis目录下的redis.windows.conf中的bind配置修改为0.0.0.0,然后开启cmd,根据ip地址加端口号,进行连接:redi

2022-02-23 17:47:35 737

原创 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @Context

java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test报错,是因为自己修改了main下面的包名,导致test下面的包名跟main下面不一致,导致Junit无法自动@Auowired DI注入。------修改包名为一致就行。...

2022-02-23 14:06:42 439

原创 冲刺总结知识

堆和栈的问题基本类型变量在栈里面存储,随着方法的弹出栈(方法执行完毕后),基本类型变量会从栈中移除。引用类型变量在堆里面存储,当该变量不被引用,引用类型变量会从堆里移除。main方法会在栈中执行。局部变量![在这里插入图片描述](https://img-blog.csdnimg.cn/e8ce5865196040208a2802913cf81705.png?x-oss-process=image/waterm单例模式创建有五种方法,常用的就是懒汉式和饿汉式饿汉式步骤:1、声明一个静态的私有对

2022-02-07 22:15:59 455

原创 第二阶段的总结

1、什么是数据库数据库是管理数据的仓库,用来存储数据。常见数据库:关系型数据库:Oracle,MySQL概念:关系型数据库有特定的组织方式,以行和列的形式存储数据。关系型数据库这一系列的行和列被称为表,一组表组成了数据库。非关系型数据库:MongoDB,Redis2、MySQL数据库分为服务端(处理具体数据维护,保存在磁盘中),客户端(CRUD,进行增删改查)3、SQL语句分类DML:数据的新增,修改和删除(insert,update,delete)DQL:数据查询语

2022-01-24 20:40:54 714

原创 【无标题】111

security(认证服务),jwt(令牌生成),oath2(规范认证过程)

2022-01-12 22:37:15 70

原创 java基础的API--本人不常见的

一、instanceof概念:instanceof是Java的一个保留关键字,左边是对象,右边是类,返回类型是Boolean类型。它的具体作用是测试左边的对象是否是右边类或者该类的子类创建的实例对象,是,则返回true,否则返回false。注意事项:先有继承关系,再有instanceof的使用。 当该测试对象创建时右边的声明类型和左边的类其中的任意一个跟测试类必须得是继承树的同一分支或存在继承关系,否则编译器会报错。应用场景:需要用到对象的强制类型转换时,需要使用instanceof进行判断

2022-01-05 22:29:55 321

原创 SQL总结

1、在排序查询时,order by 字段名 asc ---升序,order by 字段名 desc----降序其中要查询两个字段名或者多个字段名,一个要升序一个要降序时,可以在中间加逗号隔开就成立2、统计数量关键字--count(1)3、去重---distinct4、...

2022-01-04 22:23:25 652

原创 将一个项目以依赖的形式添加到另一个项目中

一、将一个项目以依赖的形式添加到另一个项目中可以直接在当前pom文件中导入这个要添加的项目。二、在一个工程中定义一个类型,并将该类型的对象交给spring容器管理,在另一个项目中测试这个对象的tostring方法。两种方式:1、在项目启动类中添加@bean注解,然后在测试类中通过@Autowrite依赖注入。2、在项目启动类上添加@impor(类型.class),然后在测试类中通过@Autowrite依赖注入。...

2021-12-29 22:27:58 1560

原创 Nginx

1、redis持久化机制在断电情况下,数据会丢失。2、redis中的save和bgsave有什么不同?redis save:命令执行一个同步保存操作,将当前redis实例的所有数据快照以RDB文件的形式保存到硬盘中redis bgsave:命令执行之后立即返回????,然后redis fork出一个新子进程,原来的redis进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,再退出。...

2021-12-29 15:28:43 2209

原创 mybatis-puls

一、构建mybatis-plus步骤:1、先导入jar包: <!--导入MP的jar包文件--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4...

2021-12-27 21:50:09 299

原创 数据库的练习题

题目:现在运营想要找到gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学同学进行用户调研,请你取出相应数据select device_id,gender,age,university,gpa from user_profilewhere gpa>3.5 and university="山东大学"orgpa>3.8 and university="复旦大学"解析:是可以这样写的,也可以在这两个条件上加大括号题目:现在运..

2021-12-25 21:35:18 1081

原创 mybatis

1、maven命令:1、clean:清空项目中的target文件目录的.xxx.class文件信息2、install:将项目打包处理install详细说明:每次打包会在两个位置生成jar包文件。位置1:target文件目录中位置2:根据坐标,在本地仓库中生成具体的jar包文件,该文件可以被其他项目依赖2、打包类型1、jar包文件springboot项目、工具API项目、框架的项目2、war包文件,动态的web项目,jsp类型,tomcat服务器3、pom类型:表示聚合工程

2021-12-20 22:10:10 1136

原创 SpringBoot工程中redis与AOP技术的整合

基于AOP与Redis技术实现mysql,redis数据库中数据操作。基于id查询菜单信息,要求:1、先查redis,redis中没有再去查mysql.2、将mysql查询到的数据存储到redis中。业务类实现查询,新增,更新三个方法ValueOperations vo = redisTemplate.opsForValue();--指定value序列化方式。package com.jt.redis.service;import com.jt.redis.dao.Menu

2021-12-13 22:13:20 612

原创 基于redis实现的投票系统

基于某个活动实现简易的投票系统: 1、定义一个活动 2、基于活动开始投票 3、同一个人只能投一次票 4、获取投票总数和人数实现业务代码如下:1、定义活动和用户idString activityId = "10001";String userId1 = "201";String userId2 = "202";2、执行投票规则,K为活动id,值为用户id,将具体数据存储到redis的set集合中--由doVot...

2021-12-13 20:08:06 1696

原创 基于redis的简易单点登录系统

基于redis的单点登录设计: 1、用户登录成功后将登录状态等信息存储到redis 2、用户携带token去访问资源,资源服务器要基于token从redis查询用户信息业务代码实现:首先自定义一个用户名和密码,传到dologin方法中生成token。在dologin方法中要先判断参数的合法性,用户名和密码要先判断不为null和空,使用.equals方法。抛异常的方法名是IllegalArgumentException。2、判断用...

2021-12-13 19:48:06 1437 1

原创 Redis指令

docker exec -it redis01 bash ------进入redis容器redis-cli -----登录redis服务info----查看redis信息clear---清楚屏幕内容exit----退出shutdown---关闭服务help----查看相关指令的帮助set---设置KV键值对--set a 100get---获取数值----get aflushdb----清除数据库中数据flushall---- 清除数据库中所有的数据---redis.

2021-12-09 22:55:52 624

原创 Docker

systemctl status docker---查看docker状态systemctl stop docker---停用dockersystemctl enable docker--开机自启systemctl disable docker---不开机自启systemctl restart docker---重启docker ps -a-----查看所有的容器运行状态会有一个id值docker rm -f id值前三位。---强制删除当前运行的东西docker imag...

2021-12-07 22:20:46 247

原创 单点登录系统---日志编辑

业务描述: 系统服务负载将其他服务获取的用户行为写入到数据库中1、pojo包创建一个封装日志信息的类package com.jt.system.pojo;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import...

2021-12-06 20:30:59 319

原创 HTTP响应异常数字

401:需要认证,或者访问地址错误403:没有权限404:未找到路径400:客户端提交参数异常。405:请求方式异常503:服务暂时不可用,稍等片刻在去访问,假如还不可访问,检查服务是否启动成功,注册中心是否有你想访问的服务。去看看网关配置有没有问题。...

2021-12-06 19:22:14 1024

原创 单点系统---token令牌解析

令牌是由JWT(Json Web Token-是一种json格式)生成。默认生成的是uuid格式的,但是我们要重写这个方法,让它生成的是jwt格式的。并作为响应令牌(Token),从服务端响应到客户端,客户端接收到这个JWT令牌之后,将其保存在客户端(例如localStorage),然后携带令牌访问资源服务器,资源服务器获取并解析令牌的合法性,基于解析结果判定是否允许用户访问资源.实现一套认证授权系统需要那些对象?1、系统资源--数据2、资源拥有者--用户3、管理资源的服务器4、对用

2021-12-03 20:03:32 1492

原创 单点登录--认证服务---定义Security类配置

流程:认证服务sso-auth--->openFeign -->系统服务(sso-system)1、sso-auth:第一步要提供一个user封装的类,用来接收数据库查询到的数据。package com.jt.auth.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors;imp

2021-12-02 19:46:18 1570

原创 单点登录系统

单点登录,英文是 Single Sign On(缩写为 SSO)。即多个站点共用一台认证授权服务器,用户在其中任何一个站点登录后,可以免登录访问其他所有站点。而且,各站点间可以通过该登录状态直接交互用户登录成功后,要把信息存入到token令牌中多对多,一般中间会有一张表去中和。维护的关系在多的一方。日志信息:表示用户在什么时间什么地址进行了什么操作,访问了什么方法,传递了什么参数。是否成功或失败,有一个记录。配置IDEA自动生成序列化id步骤:...

2021-12-01 22:38:54 273

原创 断言Predicate和过滤器(Filter)

1、Predicate断言又称谓词,用于条件判断,只有断言结果都为真,才会真正的执行路由。断言本质是定义路由转发的条件。2时间判断有三种:1) AfterRoutePredicateFactory:判断请求日期是否晚于指定日期2) BeforeRoutePredicateFactory:判断请求日期是否早于指定日期3) BetweenRoutePredicateFactory:判断请求日期是否在指定时间段内例:-After=2020-12-31T23:59:59.789+08:00[Asi

2021-11-30 20:04:04 1420

原创 SpringMVC拦截器和网关

1、spring web 中的拦截器基于回调机制,可以在目标方法执行前,先进行业务检测,满足条件则放行,不满足条件则进行拦截,拦截器原理分析:1、由handlerinterceptor接口规范定义的拦截器, 首先我们要进行实现,并重写其中的prehandle方法。2、定义一个配置类,实对拦截器的注册。---这里要实现webMvcConfigurer接口,并重写里面的addInterceptors方法,在里面添加拦截的路径,也就时指定拦截规则。1、网关概述: 本质上要提...

2021-11-29 19:47:47 1534

原创 限流过程分析

背景:在分布式系统下,修改配置文件,再重新启动项目,让这些配置生效,是比较费事的,所以我们需要进行创建一个配置中心。概念:配置中心最基础的功能就是存储一个键值对。用户发布一个配置(configKey),然后客户端获取配置项(configValue),进阶的功能就是当某个配置项发生变更时,不停机就可以动态刷新服务内部的配置项。@RefreshScope注解的作用:在配置中心相关配置发生改变的时候,能够及时看到类中属性值的更新,是因为底层通过重新创建Controller对想的方式,对属性进行了重新初始化

2021-11-26 18:01:24 368

原创 Nacos服务配置中心应用

背景:在分布式系统下,修改配置文件,再重新启动项目,让这些配置生效,是比较费事的,所以我们需要进行创建一个配置中心。概念:配置中心最基础的功能就是存储一个键值对。用户发布一个配置(configKey),然后客户端获取配置项(configValue),进阶的功能就是当某个配置项发生变更时,不停机就可以动态刷新服务内部的配置项。...

2021-11-25 22:04:45 431

原创 Feign应用实践

使用Feign 客户端时,一般要做三件事1、在启动类上添加@EnableFeignClients注解。2、使用注解@FeignClient定义feign客户端。---@FeignClient(name="sca-provider")//sca-provider为服务提供者名称一边会加上name属性,当多个服务被调用的时候,还会加上contextId,意义是:需要为远程调用服务接口指定一个id,作为远程调用服务的唯一标识(这个标识就是Bean对象的名字)@FeignClient(name="sca-p

2021-11-24 20:10:55 1259

原创 服务注册与调用

1、查询一级菜单,二级菜单,三级菜单根据当前的id编号作为父类的id编号去查询,那么二级菜单查询的parent_id = 当前信息的 id,就是二级菜单。商品分类表:清空原始条件:queryWrapper.clear();。查询三级菜单步骤: 1、先声明一个map集合,将数据库里的数据存到map集合中。 2、map里的K:是parent_id。 V:是List集合 ...

2021-11-22 19:30:14 378

原创 配置nacos步骤

1、第一步:登陆mysql,执行sql脚本。例如,我们可以使用mysql自带客户端,在命令行首先登录mysql,然后执行如下指令:source d:/nacos-mysql.sql---指下载下来包里的MySQL脚本路径2、打开/conf/application.properties里打开默认配置,并基于你当前环境配置要连接的数据库,连接数据库时使用的用户名和密码(假如前面有"#"要将其去掉):### If use MySQL as datasource:spring.datasour.

2021-11-22 16:05:20 1587

原创 常见报错总结

1、查询一级菜单,二级菜单,三级菜单根据当前的id编号作为父类的id编号去查询,那么二级菜单查询的parent_id = 当前信息的 id,就是二级菜单。商品分类表:清空原始条件:queryWrapper.clear();。查询三级菜单步骤: 1、先声明一个map集合,将数据库里的数据存到map集合中。 2、map里的K:是parent_id。 V:是List集合 ...

2021-11-20 10:44:08 1976

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除