- 博客(11)
- 收藏
- 关注
原创 2.contracts模块
Feign 的 contracts 模块是 Feign 框架中一个核心部分,它定义了如何将 Java 接口解析成 HTTP 请求。Contract 是 Feign 用来解析接口的策略模式接口,它将接口方法上的注解转换为 Feign 可理解的请求模板,从而生成适合的 HTTP 请求。默认类继承/*** 定义哪些注释和值在接口上是有效的。*//*** 检验类并解析其中的方法, 获得方法的元数据MethodMetadata集合*/......Contract接口只有一个抽象方法。
2024-11-17 21:53:36 338
原创 feign的基本认识
开发并开源的,作为其微服务架构中实现服务调用的重要组成部分。Contract 是 Feign 用来解析接口的策略模式接口,它将接口方法上的注解转换为 Feign 可理解的请求模板,从而生成适合的 HTTP 请求。对于版本,可粗略的理解为: spring-cloud-starter-openFeign 是为Spring Cloud2x准备的,只不过维持了一段时间的对1x的兼容。extras 模块包含额外的支持功能,扩展了 Feign 的基本能力,通常用于整合与第三方库、功能模块或增强现有特性的集成。
2024-11-16 20:10:18 754
原创 接口中的default和static方法
Java 8 于2014 年 3 月发布,是一次重大的更新,引入了许多新特性,如Lambda 表达式流 API以及接口中的默认方法静态方法。
2024-11-13 00:04:53 543 1
原创 通用责任链在项目中使用
责任链在我们的工作上也是会经常遇到, 一般包括死链(节点固定), 活链(动态加减节点), 很多时候我们需要在一个项目中创建很多个责任链来处理多个场景的链式调用问题。例如A场景有多个复杂的数据校验, B场景根据不同的参数有不同的处理逻辑, 此时是可以用两个责任链来完成的。为了可以快速并且低成本的使用责任链, 这里封装了一个简单的工具模块。5.采用双链表实现, 节点之间通过next和prev连接, 支持多条链路并存。6.注意每个节点都是多例的, 支持在多条连中使用同一个节点。
2024-10-21 16:48:40 201
原创 Class相关api介绍
• getField(String name) 和 getDeclaredField(String name) 返回的 Field 对象可以用于读取或修改字段的值。• cast(Object obj):将指定对象转换为该类的类型,等同于强制类型转换 (ClassType) obj。• asSubclass(Class clazz):将当前 Class 对象表示的类转换为指定的子类。• getAnnotation(Class annotationClass):返回指定类型的注解。
2024-10-20 17:06:38 1002
原创 Class生成
*** 使用 MethodHandles.Lookup.defineClass 定义类*/@Test// 类的字节码// 加密// 解密Class
2024-10-20 17:05:48 817
原创 java泛型探究
类型安全• 泛型在编译时提供了类型检查,确保在使用集合或其他数据结构时,传入的类型是正确的。这可以有效减少运行时类型转换错误,提高代码的安全性。消除强制类型转换• 使用泛型可以避免在从集合中取出元素时需要进行强制类型转换。例如,使用 List 时,取出元素不需要强制转换为 String 类型,直接使用即可。这使得代码更简洁、可读性更强。增强代码的可重用性• 泛型允许开发者编写与类型无关的代码,从而实现更高的代码重用性。
2024-10-20 16:45:11 949 1
原创 lambda表达式原理
1.静态方法引用式的lambda表达式多一个实例参数, 需要在调用的时候传入, 所以它会比实例方法的lambda表达式多一个入参,该入参是第一个参数,并且是调用该方法的实例。1.静态方式的lambda表达式调用静态方法, 不需要传入对象实例, 它和静态方式的lambda表达式调用实例方法是一样的;2.实例方法引用式的lambda表达式是在创建动态类的时候把实例对象通过构造器传入到动态类中, 调用的时候只需要传入参数即可,就像调用示例对象本身一样。形式的lambda表达式 表示对现有方法的引用。
2024-10-20 16:44:02 905
原创 jdbc操作mysql
分批的从TCP通道中读取mysql服务返回的数据,每次读取的数据量并不是一行(通常是一个package大小),jdbc客户端在调用rs.next()方法时会根据需要从TCP流通道中读取部分数据。(并不是每次读区一行数据!当设置 rewriteBatchedStatements=true 时,MySQL JDBC 驱动程序会自动将批量操作的多个 SQL 语句合并为一个 SQL 语句,这样可以减少与数据库的通信次数,从而提高批量更新的性能。在ResultSet中的数据记录是只读的,不可以修改。
2024-10-20 16:42:06 896
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人