自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis基础

1Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。2MyBatis可以使用XML或注解来配置和映射原生信息,将POJO映射成数据库中的记录,避 免了几乎所有的 JDBC代码和手动设置参数以及获取结果集。(3)通过xml文件或注解的方式将要执行的各种。

2024-02-24 15:49:33 910

原创 Docker镜像制作

文件包含了一条条的指令,每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像,对于开发人员:可以为开发团队提供一个完全一致的开发环境,对于测试人员:可以直接拿开发时所构建的镜像或者用Dockerfile文件构建一个新的镜像开始工作了,对于运维人员:在部署时,可以实现应用的无缝移植。我们可以在容器去部署应用,然后把容器转为镜像给测试人员用,由于镜像是不能直接传输的,所以我们将新的镜像转成压缩文件,给测试人员。注意事项:容器转为镜像,如果容器有挂载的内容,做成新镜像的时候,挂载的内容是不会载入。

2023-12-04 12:23:41 893

原创 虚拟机docker中的Nginx部署

v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ #不挂载这个配置文件也是可以的。在宿主机的/root/nginx/html目录下新建 index.html,让其同步到/usr/share/nginx/html目录下。在/etc/nginx/目录下有nginx.conf这个文件,这个文件是nginx的配置文件,nginx容器启动的时。-v /root/nginx/html:/usr/share/nginx/html \ #nginx默认会去访。

2023-12-04 11:47:01 851

原创 解决The bean ‘xxxx.FeignClientSpecification‘ could not be registered. 问题

3.在@FeignClient增加contextId,contextId不能重复。1.把feign的代码进行合并 (不建议:代码太杂乱)

2023-11-29 10:03:48 2292

原创 方法的重构快捷键Ctrl+Alt+M

2023-11-27 16:42:21 452

原创 设置本地域名

2023-11-27 10:59:28 336

原创 nacos配置

【代码】nacos配置。

2023-11-27 09:52:29 465

原创 MySQL用cmd锁住

输入: select * from 需要锁的数据库表名 for update;输入:mysql -uroot -p。输入:use 需要锁的数据库。解锁:rollback;密码:mysql的密码。

2023-11-24 17:42:52 340

原创 MybatisPlus

第一步:导入依赖(之前的Mybatis依赖可以注释了)第二步:在mapper层中继承BaseMapper<改层所用的实体类>两种区别,建议使用lambda的方法,不用写死参数,用反射的方式获取

2023-11-21 21:04:38 45

原创 网关过滤器

常用GatewayFilter:过滤器案例:

2023-11-21 11:19:04 19

原创 gateway网关快速入门

Path=/items/**,/search/** # 以请求路径做判断,以/items或者/search开头则符合。, 表示或者,即如果需要多个路径就可以加,隔开继续添加。predicates: #路由断言,判断请求是否符合规则,符合则路由到目标。uri: lb://item-service #路由目标微服务,lb代表负载均衡。- id: item-service # 路由规则id,自定义,唯一。用的最多的就是path,也会用header做灰度测频率也很低)

2023-11-20 15:52:36 18

原创 hm商城微服务远程调用及拆分

2.@EnableFeignClients注解,在启动项上加,作用是启用OpenFeign功能(当需要使用不在本模块中的包时就需要在注解后加上地址)的字段,并将其作为参数。这个注解可以帮助我们减少样板代码,例如手动编写构造函数。它会自动在类中生成一个构造函数,这个构造函数会接收类中所有被标记为。(负载均衡早期使用Ribbon,现在使用loadbalancer)添加日志:(开发时可以不用全局,会影响性能,调试时必要)需要修改的:端口号,微服务名称,数据库,标题名称,扫描包。3.建包,启动类,建包。

2023-11-20 12:04:19 297

原创 Docker中的常用命令

Docker中的常用命令包括:

2023-11-17 21:59:10 161

原创 git 相关

Git课程目标Git简介【了解】使用Git管理文件版本【重点】远程仓库使用【掌握】分支管理【重点】远程仓库【掌握】一、Git简介1、版本控制系统简介1.1、版本控制前生今世版本控制系统Version Control Systems,简称 VCS是将『』这样的信息以版本的形式保存并进行管理的系统。简单来说,版本控制系统会去记录它所管理的文件的『本地版本控制系统本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。但是并不能满足不能团队,在不同系统上协同工作。

2023-10-24 16:39:16 24

原创 Redis持久化

在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里,Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。新进程的所有数据(变量、环境变量、程序计数器等)数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程,在每次redis服务器启动的时候,会自动把dump.rdb这个文件的键值对 全部读取到内存。启动redis查看数据是否存在。

2023-10-24 15:04:12 21

原创 cmd命令行+Linux命令

我的根目录是c盘,然后我想切换到c盘的其他文件夹下,于是,可以输入cd ..(cd与..中间有空格)。每次输入前面都要输入cd,空格再输入其他路径。是c盘,你想切换到其他的盘,所以,你可以输入D:(或者F:,反正输入你想切换到的盘的名字即可以)然后 cd + 文件夹名称 进入到对应的文件夹, 如果有多级的话, 需要在每级之间加 "/"3、命令行输入cd Java进入Java文件,进入其他文件同理在cd 后面加文件名;命令行:打开桌面菜单→搜索程序框输入CMD→点击cmd.exe。2.按windows+R。

2023-10-23 11:26:57 219

原创 搭建安全框架

需要自定义类,实现userDetailServer接口,重写loadUserByUsername方法,在方法中根据前端输入的用户名查询数据库中该用户的信息。5.自定义表单认证,重写configure方法满足方法中指定登录页面和登录请求URL(记得加上 http.authorizeRequests()1. .anMatchers(”/***“).hasAuthorith("***") 注意:路径需要加/2.1 开启注解式权限控制,默认都是关闭的,用(需要使用的属性 = true)开启。

2023-10-20 17:58:31 22

原创 security登录流程

1.用户发出登录请求2,走到usernamePWFilter,把前端输入的用户名和密码封装到一个对象中(Authentication),但是还没有权限信息3.1执行loadUserByUsername 作用:根据前端输入的的用户名加载用户信息3.2具体执行逻辑,在于配置的userDetailService的具体实现类4.对比前端输入的密码和loadUserByUsername返回值中的密码,如果相同就把权限信息放入Authentication中5.把Authentication放入sec

2023-10-19 14:35:42 72

原创 高并发接口需要注意的问题

b:原理->当第一个线程进入该方法时,在该线程外打上自己线程标识,执行完会删除标识,其他线程看到标识会等待上一个线程执行完,才会执行方法。比较并交换(在该数据之前,判断当前的数据是否等于提前读取出来的数据),如果条件不成立则证明该数据被其他线程修改了。在集群部署/分布式部署,JDK锁时锁不住的,只能加分布式锁。非原子的代码包括但不限于:(计算:对成员变量计算)a:作用-->加到方法上,该方法就变成同步方法。参数一:锁的时间,参数二,三:线程获取锁的时间。负载均衡:轮询,权重,ip Hash。

2023-10-13 11:45:44 60

原创 BigDecimal计算公式

= add()

2023-10-13 09:25:53 35

原创 router和route

是VueRouter的实例对象,用于导航操作(navigation guards, navigation confirmation)。router在组件外使用,router在组件外使用,route在组件内使用。当前路由对象,包含了路径,参数,查询,hash等信息。组件内使用 $route.path 获取当前路由路径。通常在组件外部使用,如导航守卫、全局前置守卫等。$router 用于导航操作,如路由跳转、替换等。$route用于获取当前路由信息,如路径、参数等。通常在组件内使用,获取当前路由信息。

2023-10-12 11:14:38 18

原创 @Transactional失效场景

3.数据库不支持事务(MySQL的引擎(innoDB支持事务,MyISAM不支持事务),redis也是支持事务的)4.方法不能被动态代理所代理的事务也会失效:final,static,private。5.一个没有事务的方法调用一个有事务的方法,事务也会失效。1.程序出错,对代码异常捕捉了, 但是没有抛出异常。(事务是AOP,AOP原理就是动态代理)

2023-10-12 11:10:36 24

原创 redis五种基本数据类型

set数据类型 :无序且不可重复(即具有去重性) 应用场景:使用场景与Java中的set相同。redis五种基本数据类型:String,list,set,zset,hash。ZSet数据类型 可以对ZSet中的元素进行自动排序(通过元素的权重属性排序)String数据类型,key 有一个最小的固定大小(512字节) 浪费内存。hash数据类型应用场景:1.放对象,2.放有相同大key类的数据。list数据类型应用场景:1.按顺序做一些功能 2.有限资源消费。

2023-10-12 09:36:00 18

原创 Nginx相关

Nginx称为:负载均衡器或 静态资源服务器:html,css,js,imgNginx(发音为“engine X”)是俄罗斯人编写的十分轻量级的HTTP服务器,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor Sysoev在建立的项目时,使用基于BSD许可。

2023-10-10 17:53:31 22

原创 雪花id相关

1.UUID2.雪花id3.自定义算法生成。

2023-10-10 09:53:19 139

原创 Practice

认证通过,将用户信息进行加密形成iwt,返回给客户端,作为登录凭证,并存入redis以后每次请求,客户端都携带认证的iwt。*击穿:指热点key 问题,就是一个高并发访问的key突然失效,无数的请求访问都会瞬间给数据库带来巨大压力。穿透:指客户端请求的数据在缓存数据库中都没有,这样缓存永远不会生效,这些请求都会打到数据库。雪崩:指同一时间段内大量的缓存key失效,或者redis宕机,导致大量的请求到达数据库。*ArrayList是基于数组实现的,LinkedList基于双向链表实现的。

2023-10-09 10:11:27 26

原创 redis缓存相关问题

把磁盘数据放入内存中。

2023-10-08 19:55:49 17

原创 vue中的跳转

2023-09-28 10:54:42 19

原创 jwt测试

【代码】jwt测试。

2023-09-28 09:42:55 43

原创 jwt知识点

jsonwebtoken(jwt) 是一个开发标准(rfc7519), 它定义一种紧凑的,自包含的方式,用于在各方之间以json对象安全传输信息,此信息可以验证和信任,因为它是数字签名。jwt可以使用算法加密,或者使用RSA/ECDSA的公钥/私钥对进行签名JWT全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;

2023-09-27 20:37:11 151 1

原创 解决跨域问题

​@CrossOrigin(origins = "*") //注释在类上。

2023-09-27 10:19:13 18 1

原创 前端需要做的基本操作

在需要创建项目文件夹里打开终端输入:vue create 自定义的名字。安装 npm i element-ui -S。安装 npm install axios。选择历史模板或者自己重新创建模板。在main.js中引入。在main.js中引入。

2023-09-27 09:52:12 25 1

原创 Java基础问题1、2

声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建 abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。

2023-09-27 09:33:07 66 1

原创 Vue组件

组件是可复用的 Vue 实例,且带有一个名字,在这个例子中是。我们可以在一个通过new Vue根组件。

2023-09-25 20:08:25 15 1

原创 Springboot测试

2.在test目录下建一个测试类,测试类上标注@SpringBootTest,注入需要测试的mapper或者service进行测试即可。1.导入jar包 spring-boot-starter-test。

2023-09-25 09:32:19 18 1

原创 9.22几个问题

Java中的动态代理主要是通过反射机制实现的,可以实现对目标对象的方法进行增强处理。重定向是在客户端浏览器中进行的,地址栏的URL会改变。Cookie:客户端的会话状态管理机制,将用户的数据存储在客户端浏览器上,通过Set-Cookie响应头发送到客户端,客户端浏览器会将Cookie保存,并在每次请求时自动携带该Cookie。增强的几个关键元素包括切面(Aspect)、连接点(Join point)、切点(Pointcut)、通知(Advice)、目标对象(Target)、代理(Proxy)等。

2023-09-22 10:36:57 75 1

原创 使用拦截器

拦截器的作用与过滤器大抵相同,过滤器是作用于客户端与前端控制器之间,拦截器则作用域前端控制器与处理器映射器,适配器之间。springMvc配置类: implements WebMvcConfigurer。实现接口:implements HandlerInterceptor。配置类:@Configuration。放入容器内:@Component。springMvc的配置类。

2023-09-12 00:55:39 22

原创 spring注解二

请求参数。

2023-09-06 20:30:23 35 1

原创 Spring boot 的创建

目录:

2023-09-06 20:30:18 33 1

原创 spring--注解一

代替配置文件:@Configuration @ComponentScan(" ") @Import(JdbcConfig.class)创建对象:@Controller @Service @Repository @Component。把类分类:自己的类可以加注解,别人的类不可以,如果有需要就必须自己写一个类继承后再注解。下面四个注解,只要放在一个类上,该类的对象就会在容器中了,就是说他们作用相同。@Bean标注的容器的对象,id就是方法名,也可以自定义,形式同上。* 目的:代替beans.xml。

2023-09-06 09:35:41 33 1

空空如也

空空如也

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

TA关注的人

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