在spring cloud alibaba nacos的配置中,我们为了能够实现配置的动态刷新,@RefreshScope则是其中的一个解决方案。这篇文章将会从被@RefreshScope标记的bean从类信息搜集、创建、使用、刷新、销毁这样一个过程入手,记录Scope在spring中的工作原理。

5月 6, 2023 1条评论 369点热度 1人点赞 阅读全文

在nacos自动配置刷新中,当我们使用spring-cloud做微服务开发的时候,主要通过两种方式自动刷新配置,这边文章主要介绍`@ConfigurationProperties`注解工作原理,以及解释自动刷新配置的工作机制。

4月 20, 2023 0条评论 492点热度 0人点赞 阅读全文

在spring cloud alibaba中,配置中心是关键性的组件,能够提供便捷的配置管理以及更改配置后无需启动服务,就能够实现配置的自动更新。当然自动更新的操作并不是由nacos来完成,但是涉及以及配置更新通知,则是由nacos来实现的。这篇文章主要介绍nacos配置加载实现。

4月 17, 2023 0条评论 73点热度 0人点赞 阅读全文

spring boot的出现,大大减少了配置文件的数量,我们可以通过代码的方式完成spring的所有配置,在spring boot启动过程中,重要的就是环境变量数据的加载,这些环境变量会成为后面容器启动的关键配置信息,因此主要看下环境配置加载的原理。

4月 11, 2023 4条评论 188点热度 2人点赞 阅读全文

在工作中,我们时常需要使用泛型,最主要目的其实还是在于对公共逻辑的提取,以最大限度减少重复代码带来的复杂性和难以维护性。在一文读懂java泛型机制中对泛型做了基本概念的介绍,以及基础的使用。今天这篇文章主要是通过反射的方式获取泛型信息。

3月 7, 2023 0条评论 120点热度 1人点赞 阅读全文

Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了“伪泛型”的策略,即Java在语法上支持泛型,但是在编译阶段会进行所谓的“类型擦除”(Type Erasure),将所有的泛型表示(尖括号中的内容)都替换为具体的类型(其对应的原生态类型),就像完全没有泛型一样。

2月 27, 2023 0条评论 145点热度 0人点赞 阅读全文

在最近的项目开发中,涉及到了审批人在审批时,需要动态的指定审批人。在目前最通用的方案就是在涉及流程的时候,审批人通过变量的方式指定,然后审批人在审批的时候,动态传入审批人即可。但是这种方式比较大的问题,没办法覆盖所有的场景,当场景比较灵活的时候,对流程的设计有比较高的要求。因此就开始调研能否通过代码的方式动态创建任务节点。

1月 14, 2023 1条评论 1293点热度 3人点赞 阅读全文

在最近的项目开发中,有一个需求为获取未审批节点的信息。在我们系统中,流程图没有特别的节点,主要包含了并行网关、排他网关、任务节点这几种类型的节点。因此在获取未审批节点的时候,就没有其他的业务处理逻辑。该问题作为记录,以便日后使用。

12月 9, 2022 1条评论 164点热度 1人点赞 阅读全文

最近在做项目,有个需求为根据订单的详情生成pdf并能够支持pdf的预览功能。为了能够简单的实现功能,就使用了浏览器自带的预览pdf功能实现。

11月 6, 2022 0条评论 580点热度 2人点赞 阅读全文

在 mybatis mapper运行原理 和mybatis Configuration初始化源码分析中,我们学习了在mybatis初始化的过程中以及创建mapper的时候做了些必要的事情,其中作为扩展点主要在于Interceptor拦截器的实现,通过拦截器我们可以对mybatis查件操作扩扩展处理,比如可以通过拦截器实现分页查询信息, 以及其他数据权限相关的配置。今天这篇文章主要介绍拦截器的一些用法,以及拦截器的使用。

10月 16, 2022 0条评论 312点热度 2人点赞 阅读全文

在前面的章节中,我们学习了mapper接口代理对象是如何生成的,知道了mapper使用了jdk的动态代理技术生成,这篇文章将探讨mapper是如何运行的,在运行过程中都做了哪些事情。 MapperProxy 在前面的源码分析中可以知道,这个类是一个InvocationHandler的实现,代理对象执行的时候,最终会执行到该类的invoke()方法,因此我们直接探讨下该类的方法实现。 invoke() public Object invoke(Object proxy, Method method, Object[]…

10月 6, 2022 1条评论 329点热度 1人点赞 阅读全文
123456