自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java api获取paimon表的schema

try {try {

2024-07-13 18:16:31 463

原创 java api读取本地paimon表

i++) {// 遍历每一个列。// 6.2使用反射,给对象的相应属性赋值。

2024-07-13 18:11:02 1483

原创 @PostConstruct和@PreDestroy

metadata.invokeDestroyMethods(bean, beanName) 此方法执行后,执行到@PreDestroy,@PostConstruct 注解加在一个 bean 的方法上,当此 bean 被 spring-ioc 初始化时,自动调用此方法。### ----------------------------------------@PostConstruct和@PreDestroy。

2024-03-15 21:44:07 436

原创 创建bean的流程五

/ 有AOP的情况下会调用getEarlyBeanReference方法,在getEarlyBeanReference方法中会将原本的bean放入到earlyProxyReferences中,// 如果没有aop,就不会调用getEarlyBeanReference方法,earlyProxyReferences是空的,remove出来是null,条件成立,就会生成一个代理对象。Spring同时也提供了销毁方法的扩展入口,对于销毁方法的扩展,除了我们熟知的配置属性destroy-method方法外,

2024-03-15 21:14:47 778

原创 创建bean的流程四

else if (javaxInjectProviderClass == descriptor.getDependencyType()) // javaxInjectProviderClass类型的特殊处理。if (result == null) // 默认的getLazyResolutionProxyIfNecessary(...)方法返回null。if (Optional.class == descriptor.getDependencyType()) // Optional类型的特殊处理。

2024-03-15 21:00:46 666

原创 创建bean的流程三

/ 获得构造函数的参数名称。// 获得构造函数的参数类型集合。/** 步骤2:如果配置了instanceSupplier,则通过调用Supplier#get()方法来创建bean的实例,并封装为BeanWrapper实例 */

2024-03-15 20:59:42 1370

原创 创建bean的流程二

## --------------------------创建bean的准备,如resolveBeanClass解析类、prepareMethodOverrides、resolveBeforeInstantiation -> doCreateBean。// 解析bean的类型Class。/** 1:如果可以获得className,并且evaluated与className不同,则以evaluated为准 *//** 2:以mbd.getBeanClassName()为准,来创建Class实例对象 */

2024-03-15 20:58:18 491

原创 spring boot创建tomcat容器

https://www.cnblogs.com/junzisi/p/15616519.html原文链接:https://blog.youkuaiyun.com/m0_63437643/article/details/123068012### spring boot创建tomcat容器起点-> SpringApplication.run()-> SpringApplication.refreshContext

2024-03-14 17:48:35 528

原创 ServletContextInitializer的作用

> StandardContext.startInternal() SpringApplication.run线程外的一个新线程。-> RegistrationBean.onStartup(ServletContext servletContext) 由于RegistrationBean implements。

2024-03-14 17:47:54 684

原创 @RefreshScope

ScopedProxyMode.TARGET_CLASS (默认cglib代理),当ScopedProxyMode 为TARGET_CLASS 的时候会给当前创建的bean 生成一个代理对象,会通过代理对象来访问,每次访问都会创建一个新的对象,就是@RefreshScope 实现的本质了。@RefreshScope的Bean都会被Spring做AOP动态代理,每次调用方法之前,都会去IOC中调用getBean方法获取真正的原始Bean,而原始Bean又被存放在GenericScope对象中的Map里,

2024-03-14 17:41:17 508

原创 spring boot配置文件

/1. 封装ConfigDataImporter对象,里面有解析ConfigDataLocation -> ConfigDataResource 和load ConfigDataResource -> ConfigData之类的操作。------------------------------------------------------------------------------------进入BootstrapConfigFileApplicationListener。

2024-03-14 16:07:08 448

原创 ApplicationContextInitializer的加载和使用触发点

并依次触发初始化器的 initialize 方法。#### ---------------------------------------ApplicationContextInitializer的加载和使用触发点。#### ---------------------------------------ApplicationContextInitializer实现主要有3中方式。下的配置为 context.initializer.classes 的值,这个值是初始化器的全路径名,多个之间用逗号隔开。

2024-03-13 18:30:10 664

原创 nacos服务注册与发现

(开启nacos的服务注册与发现功能)@ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", 属性为true时,此配置类会被加载。### ----------------------------------------------------------------------------------------------nacos服务注册与发现。

2024-03-13 18:29:07 1288

原创 创建bean的流程一

/ 有AOP的情况下会调用getEarlyBeanReference方法,在getEarlyBeanReference方法中会将原本的bean放入到earlyProxyReferences中,// 如果没有aop,就不会调用getEarlyBeanReference方法,earlyProxyReferences是空的,remove出来是null,条件成立,就会生成一个代理对象。所以remove出来的bean和参数中的bean是同一个,条件不成立,所以不会再生成一个新的代理对象。

2024-03-12 21:00:15 488

原创 理解nacos的配置变更如何更新到应用的配置上

第六步:PropertySourceBootstrapConfiguration的initialize方法中,首先就是将属性源定位器propertySourceLocators排序(这里有NacosPropertySourceLocator ),然后遍历进行定位,放进封装成PropertySource并放进集合里。此时BootstrapApplicationListener监听到这个事件,在onApplicationEvent方法中创建一个SpringApplicationBuilder,就是建造者模式,

2024-03-10 18:11:32 2125

原创 openfeign

HttpClient.New(..)是一个静态方法,大致的逻辑:它会调用 KeepAliveCache 类型的静态成员 kac 的get方法,去首先获取缓存中的HttpClient 客户端实例。(7)HttpClient的 putInKeepAliveCache方法,主要以请求的 url 值作为 key (因为这里的第二个参数总是写死为 null ),以当前 HttpClient 实例为 value,放入到KeepAliveCache 类型的静态成员 kac 缓存中,以便后面进行复用。

2024-03-10 18:10:47 1753

空空如也

空空如也

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

TA关注的人

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