- 博客(30)
- 收藏
- 关注
原创 使用阿里OCR身份证识别
AccessKeyId和AccessKeySecret 要同时复制保存下来 因为后面好像看不AccessKeySecret了。
2024-09-12 10:38:32 511
原创 解决 Redis 穿透问题之黑名单
4.判断数据库中是否有该商品,如果有就直接返回,如果没有就将查询的数据放入黑名单中。2.检查redis里面是否有该商品,如果有就直接返回,1.先查黑名单是否存在当前商品,如果有就抛出异常。3.如果没有就查询数据库,将数据缓存到redis。
2024-05-24 21:44:33 296
原创 登录时做 双token实现无感刷新
双token系统可以更好地管理用户的权限。例如,在开放平台中,第三方应用可以通过refresh token来获取access token,而不需要知道用户的用户名和密码,这样既保证了用户信息的安全,又赋予了第三方应用一定的权限。总之,双token系统是一种常见的安全设计模式,通过分离短期和长期凭证,以及用户直接使用的token和用于刷新的token,来提高系统的安全性和灵活性。:通过短期的access token和长期的refresh token,可以在不影响用户体验的情况下,减少安全风险。
2024-05-17 11:26:09 655
原创 GateWay具体的使用之全链路跟踪TraceId日志
MDC 介绍 MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能。MDC 可以看成是一个与当前线程绑定的Map,可以往其中添加键值对。MDC 中包含的内容可以被同一线程中执行的代码所访问。当前线程的子线程会继承其父线程中的 MDC 的内容。当需要记录日志时,只需要从 MDC 中获取所需的信息即可。MDC 的内容则由程序在适当的时候保存进去。但在不改动原有输出语句的前提下自然需要日志框架的支持了。
2024-04-27 19:38:23 1145
原创 GateWay具体的使用之全局token过滤器
为了让Spring Cloud Gateway应用识别并使用这个过滤器,你通常需要在配置类中注册它。但是,由于我们使用了@Component注解,Spring会自动扫描并注册该Bean。使用@Component或下面代码,二选一。接口为例,创建一个全局token过滤器。首先,你需要创建一个实现了。
2024-04-27 19:23:58 509
原创 Gateway服务网关
在服务的调用方式上面,网关也有一定的要求,API 网关最好是支持 I/O 异步、同步非阻塞的,如果服务是同步阻塞调用,可以理解为微服务模块之间是没有彻底解耦的,即如果A依赖B提供的API,如果B提供的服务不可用将直接影响到A不可用,除非同步服务调用在API网关层或客户端做了相应的缓存。(4)predicates:断言数组,即判断条件,如果返回值是true,则转发请求到 uri 属性指定的服务中。(1)id:路由标识,要求唯一,名称任意(默认值 uuid,一般不用,需要自定义):应用到所有的路由上(
2024-04-27 19:16:59 924
原创 OpenFeign微服务调用组件
Feign可以做到使用 HTTP 请求远程服务时就像调用本地方法一样的体验,开发者完全感知不到这是远程方法,更感知不到这是个 HTTP 请求,开发者无需关注与远程的交互细节,更无需关注分布式环境开发。Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API,目的是让编写HTTP接口的客户端变得更简洁和直接。因为feign调试日志是debug级别输出,springboot默认的日志级别是info,所以feign的debug日志级别就不会输出,
2024-04-25 22:00:29 1058
原创 Feign 和 OpenFeign 的区别
此外,OpenFeign 支持更丰富的扩展,如日志记录、监控、安全性增强等,便于与 Spring Cloud 生态中的其他组件如 Sleuth、Zuul、Eureka 等更好地集成。OpenFeign:OpenFeign 显著的特点是对 Spring MVC 注解的支持,开发者可以直接使用熟悉的 Spring MVC 注解来定义接口,增强了与 Spring 体系的融合度,降低了学习成本。Feign:虽然提供了基本的负载均衡支持(通常通过内置的 Ribbon 实现),但其配置选项和扩展性相对有限。
2024-04-25 21:25:53 667 1
原创 Ribbon负载均衡器
Slf4j@Autowired@Autowired//保证多线程下的线程安全,AtomicIntegertry {//自己算法//最大权重的实例//@Override。
2024-04-24 21:33:40 1418
原创 java:找不到符号 符号:方法 builder()
2.找到 Build,Execution Deployment ,点击 Compiler ,在右下角 Shared build process VM options: 中填入。:(如果依赖之前存在)在 pom.xml 中重新导入一遍 lombox 依赖,并下载。
2024-03-27 19:24:11 525 1
原创 1.Spring MVC 概述
Spring MVC 是Spring框架的一个模块,是一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。SpringMVC 是 Spring 为表示层开发提供的一整套完备的解决方案。在表述层框架历经 Strust、WebWork、Strust2 等诸多产品的历代更迭之后,目前业界普遍选择了 SpringMVC 作为 Java EE 项目表述层开发的首选方案。
2024-01-09 21:18:30 336
原创 MyBatis的动态SQL
MyBatis的映射文件中支持在基础SQL上添加一些逻辑操作,并动态拼接成完整的SQL之后再执行,以达到SQL复用、简化编程的效果。
2023-12-25 20:48:48 846 1
原创 MyBatis的缓存
为什么使用缓存?首次访问时,查询数据库,并将数据存储到内存中;再次访问时直接访问缓存,减少IO、硬盘读写次数、提高效率Mybatis中的一级缓存和二级缓存?一级缓存:它指的是mybatis中的SqlSession对象的缓存。当我们执行完查询之后,查询的结果会同时存在在SqlSession为我们提供的一块区域中。当我们再次查询同样的数据,mybatis会先去SqlSession中查询是否有,有的话直接拿出来使用。当SqlSession对象消失时,Mybatis的一级缓存也就消失了。
2023-12-25 20:26:30 395 1
原创 MyBatis关联查询之一对多、多对多
需求:查询所有用户信息及用户关联的账户信息。分析:用户信息和他的账户信息为一对多关系,并且查询过程中如果用户没有账户信息,此时也要将用户信息查询出来,此时左外连接查询比较合适。
2023-12-25 19:58:02 378 1
原创 MyBatis的关联查询之一对一
实体间的关系(拥有 has、属于 belong)OneToOne:一对一关系(account ←→ user)OneToMany:一对多关系(user ←→ account)ManyToMany:多对多关系(user ←→ role)什么是关联查询当访问关系的一方时,如果需要查看与之关联的另一方数据,则必须使用表链接查询,将查询到的另一方数据,保存在本方的属性中关联查询的语法指定“一方”关系时(对象),使用指定“多方”关系时(集合),使用。
2023-12-20 21:41:11 706
原创 MyBatis的配置文件
那么我们如何在mybatis的核心配置文件里面加载外部的数据库配置信息呢?2.在SqlMapConfig.xml引入数据库配置信息。
2023-12-20 21:32:03 321
原创 mybatis的orm映射
如果我们的查询很多,都使用别名的话写起来岂不是很麻烦,有没有别的解决办法呢?标签手动映射,解决实体字段和数据表字段不一致的问题。②UserMapper.xml 文件。②UserMapper.xml 文件。①UserMapper 文件。①UserMapper 文件。这时可以使用结果映射。
2023-12-20 21:22:34 358
原创 MyBatis的CRUD
所需数据库idea准备创建maven项目,并在pom.xml文件引入依赖创建一个包mapper,并在mapper包里创建一个UserMapper接口创建包pojo,在此包下创建一个实体体User,然后pojo下创建一个文件UserMapper.xml在resourcus文件里创建MyBatis的配置文件 mybatis-config.xml创建测试类。
2023-12-19 22:11:36 341
原创 MyBatis运行原理
映射文件即 SQL 映射文件,该文件中配置了操作数据库的 SQL 语句,需要在 MyBatis 配置文件 mybatis-config.xml 中加载。:在 Executor 接口的执行方法中有一个 MappedStatement 类型的参数,该参数是对映射信息的封装,用于存储要映射的 SQL 语句的 id、参数等信息。:由会话工厂创建 SqlSession 对象,该对象中包含了执行 SQL 语句的所有方法,是一个既可以发送sql执行并返回结果的,也可以获取mapper的接口。
2023-12-19 21:25:59 332
原创 MyBatis介绍
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、获取结果集等jdbc繁杂的过程代码。 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。
2023-12-19 21:15:24 358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人