- 博客(8)
- 收藏
- 关注
原创 Nacos(SpringBoot)配置加载及刷新
了解Spring中bean的创建的都知道,属性注入是在populateBean()阶段,调用后置处理器的postProcessPropertyValues()方法进行注入,NacosValueAnnotationBeanPostProcessor继承了。再收到配置信息时,首先调用了实际的监听器的监听方法去替换环境中的配置,然后发布了NacosConfigReceivedEvent。这里引入了NacosConfigBeanDefinitionRegistrar,这个关键了,我们看看它都注入了哪些bean。
2023-12-04 20:11:39
1871
原创 nacos(SpringCloud)配置加载
众所周知,Springboot由run方法启动,这里就不展开讲了,我们主要看下面的代码,创建Spring容器之前先准备环境。首先是BootstrapApplicationListener,如下,可知默认配置名字bootstrap,接着会进入bootstrapServiceContext方法创建Spring容器。这里没有展开,有兴趣可以看源码,我们主要看加载前后cloud 的environment的变化。这里会重走run方法进行容器的创建,两个容器是不同的。,由上面的内容可知这里又会重走监听器,
2023-12-03 23:04:31
1281
1
原创 @RefreshScope(nacos配置热更新)
1.当调用被@RefreshScope注解的bean的属性的get方法时 则先从本地缓存里面获取2.当本地缓存中 不存在当前bean时 则重新创建 此时 会获取 spring中最新环境配置3.如果本地缓存中 存在当前 bean则 直接返回对应属性值1.当配置更改时 nacos服务端会发步一个配置已被更新事件2.此时 naocs客户端 会接受到这个事件 接受到以后 会再在spring中发布环境配置刷新事件3.然后 对应的监听器 收到以后 则刷新spring环境配置 以及 清空本地缓存。
2023-10-21 11:58:04
1327
1
原创 SpringMVC源码解析----初始化
HttpServletBean的init方法:这里调用子类的重写方法FrameworkServlet的initServletBean方法:initWebApplicationContext方法:createWebApplicationContext方法:configureAndRefreshWebApplicationContext方法:Abstra...
2019-03-04 23:00:13
146
原创 springmvc实现文件上传
前端表单类型后端配置文件pom.xml<!-- 文件上传组件 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artif...
2019-01-06 22:59:17
120
转载 Mybatis传多个参数问题
据我目前接触到的传多个参数的方案有三种。第一种方案 DAO层的函数方法 ? 1 Public User selectUser(String name,String area); 对应的Mapper.xml ? 1 2 3 <select id="selectUser" resultM...
2019-01-06 00:56:50
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人