前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java刷新bean重新加载bean 上下文 刷新bean

Java刷新bean重新加载bean 上下文 刷新bean

作者头像
全栈程序员站长
发布于 2022-09-23 13:34:53
发布于 2022-09-23 13:34:53
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Autowired
private ApplicationContext applicationContext;

// 可以为接口或者业务方法被调用
public void reloadInstance(){
	//获取上下文
	DefaultListableBeanFactory defaultListableBeanFactory =
			(DefaultListableBeanFactory)applicationContext.getAutowireCapableBeanFactory();
	//销毁指定实例 wxMpService是上文注解过的实例名称 name="wxMpService" 或没注解情况下默认的bean名称
	defaultListableBeanFactory.destroySingleton("wxMpService");
	//按照旧有的逻辑重新获取实例,WxMpService是我自己逻辑中的类 获取要刷新实例下的bean方法
	WxMpService wxMpService = WxConfig.wxMpService();
	//重新注册同名实例,这样在其他地方注入的实例还是同一个名称,但是实例内容已经重新加载
	defaultListableBeanFactory.registerSingleton("wxMpService",wxMpService);
}

// 此实例在 WxConfig 类下
//实例  可写@Bean("beanName")
@Bean  
public static WxMpService wxMpService() {
    WxMpService wxMpService = new WxMpServiceImpl();
    wxMpService.setWxMpConfigStorage(wxMpConfigStorage());
    return wxMpService;
}

通过以上代码可实现 重新加载Bean

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171136.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《Spring 手撸专栏》第 7 章:所向披靡,实现应用上下文,自动识别、资源加载、扩展机制
依照项目落地经验来看,我们在承接紧急的产品需求时候,通常会选择在原有同类项目中进行扩展,如果没有相关类型项目的储备,也可能会选择临时搭建出一个工程来实现产品的需求。但这个时候就会遇到非常现实的问题,选择完整的设计和开发就可能满足不了上线时间,临时拼凑式的完成需求又可能不具备上线后响应产品的临时调整。
小傅哥
2021/06/25
3470
《Spring 手撸专栏》第 7 章:所向披靡,实现应用上下文,自动识别、资源加载、扩展机制
Spring的Bean加载流程
Spring IOC容器就像是一个生产产品的流水线上的机器,Spring创建出来的Bean就好像是流水线的终点生产出来的一个个精美绝伦的产品。既然是机器,总要先启动,Spring也不例外。因此Bean的加载流程总体上来说可以分为两个阶段:
全栈程序员站长
2022/06/29
4880
Spring的Bean加载流程
SpringBoot源码解析(八):Bean工厂接口体系
在前文中,我们详细概述了SpringBoot架构中应用上下文结构体系的各个组件。其中,通用应用上下文(GenericApplicationContext)通过创建 DefaultListableBeanFactory,负责注册、管理和创建Bean定义,同时支持依赖注入和动态Bean管理。DefaultListableBeanFactory结构相对复杂,接下来我们将对其组件逐一进行介绍。
冬天vs不冷
2025/02/02
950
SpringBoot源码解析(八):Bean工厂接口体系
SpringBoot动态注册与更新IOC中的Bean
在某些情况下,我们可能需要在应用程序运行时动态添加或更新Spring Bean,比如,有时候我们的某些第三方配置信息存储与数据库中,而为了保证某一个服务的单例性质,不能每次都去动态的构建一个服务对象,此时就形成了“需要注册为Bean并且需要支持动态更新Bean”的需求。 这可以用于插件系统、模块化应用程序或需要在不重启应用的情况下更新业务规则的场景。
JanYork_简昀
2024/03/05
1.9K0
SpringBoot动态注册与更新IOC中的Bean
Spring中实现动态注册bean
使用Spring期间可能会遇上需要动态注册bean的时候,此时可以通过如下实现: 基本步骤 //将applicationContext转换为ConfigurableApplicationContext ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) applicationContext; // 获取bean工厂并转换为DefaultListableBeanFac
WindCoder
2020/01/21
9970
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】
众所周知,Spring容器可以简单粗暴的把它理解为一个大大的Map,存储着容器所管理的所有的单实例对象。我们从使用getBean(String beanName)方法,根据bean名称就能获得容器内唯一的Bean实例就能“证明”到这一点。
YourBatman
2019/09/03
15.1K3
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】
聊聊如何实现动态加载spring拦截器
之前写过一篇文章聊聊如何实现热插拔AOP,今天我们继续整一个类似的话题,聊聊如何实现spring拦截器的动态加载
lyb-geek
2024/01/16
2030
聊聊如何实现动态加载spring拦截器
spring容器初始化过程总结_java构造方法初始化
我们知道,spring 的启动其实就是容器的启动,而一般情况下,容器指的其实就是上下文 ApplicationContext。
全栈程序员站长
2022/09/23
5870
不一样的视角来学习Spring源码之容器与Bean---上
Spring 的发展历史较为悠久,因此很多资料还在讲解它较旧的实现,这里出于怀旧的原因,把它们都列出来,供大家参考
大忽悠爱学习
2022/05/10
4680
不一样的视角来学习Spring源码之容器与Bean---上
逐行阅读Spring5.X源码(四) BeanFactory——核心容器bean工厂
5.DefaultSingletonBeanRegistry。SingletionBean注册器的默认实现,同时继承SimpleAliasRegistry。因此这个类可以有别名注册的功能和单例bean注册的功能,并且他还支持注册DisposableBean实例;它依赖ObjectFactory接口和DisposableBean接口(关闭注册表时调用到了destroy方法)。侧重于Bean的注册,销毁,以及依赖关系(关联关系)的注册和销毁。
源码之路
2020/09/04
1.3K0
逐行阅读Spring5.X源码(四) BeanFactory——核心容器bean工厂
SpringBoot源码解析(七):应用上下文结构体系
SpringBoot源码解析(二):引导上下文DefaultBootstrapContext
冬天vs不冷
2025/01/20
1100
SpringBoot源码解析(七):应用上下文结构体系
Spring解密 - Bean 加载流程
在 Spring解密 - XML解析 与 Bean注册 中,讲了 Bean的解析,本章将详细讲解 Spring中Bean的加载过程,相比 解析而言,加载稍微复杂一点.
battcn
2018/08/03
1.1K0
Spring Bean基础
Spring管理的这些bean藉由配置元数据创建,例如被@Bean注解。那么在 Spring 内部又是如何存储这些信息的呢?
JavaEdge
2021/02/23
5190
Spring Bean基础
【小家Spring】Spring的Bean定义注册中心BeanDefinitionRegistry详解
Spring Framework最重要的一个概念就是Bean,而Spring Bean定义是需要扫描、注册来实现统一的管理的。
YourBatman
2019/09/03
1.1K0
【小家Spring】Spring的Bean定义注册中心BeanDefinitionRegistry详解
spring bean的生命周期面试如何回答_面试maven的生命周期
面试中经常会被问到Spring Bean的生命周期,有些人说记不住,看了一遍源码也是云里雾里的,那是因为只看理论,没有自己实践,如果自己亲自写代码验证一下,不管是对Spring的宏观感受,还是微观的感觉,都会有进一步的理解。 本篇会先展示代码的结果,后面再进行分析,代码的获取地址:码云地址
全栈程序员站长
2022/11/04
6440
spring bean的生命周期面试如何回答_面试maven的生命周期
【小家Spring】为脱离Spring IOC容器管理的Bean赋能【依赖注入】的能力,并分析原理(借助AutowireCapableBeanFactory赋能)
可能我们(大众)都是这样认为:自从用上了Spring这个优秀的框架,一般小伙伴们都是一言不合就把对象塞进Spring的IOC容器里面,交给它来替我们管理。
YourBatman
2019/09/03
3.2K0
【小家Spring】为脱离Spring IOC容器管理的Bean赋能【依赖注入】的能力,并分析原理(借助AutowireCapableBeanFactory赋能)
我想挑战下我的软肋,动手实现个Spring应用上下文!
依照项目落地经验来看,我们在承接紧急的产品需求时候,通常会选择在原有同类项目中进行扩展,如果没有相关类型项目的储备,也可能会选择临时搭建出一个工程来实现产品的需求。但这个时候就会遇到非常现实的问题,选择完整的设计和开发就可能满足不了上线时间,临时拼凑式的完成需求又可能不具备上线后响应产品的临时调整。
小傅哥
2021/06/17
3870
我想挑战下我的软肋,动手实现个Spring应用上下文!
Spring中bean的生命周期(最详细)
Spring Bean的生命周期是Spring面试热点问题。Spring Bean的生命周期指的是从一个普通的Java类变成Bean的过程,深知Spring源码的人都知道这个给面试官讲的话大可讲30分钟以上,如果你不没有学习过Spring的源码,可能就知道Aware接口和调用init方法这样的生命周期,所以这个问题既考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入手,帮助面试者彻底搞定Spring Bean的生命周期。
全栈程序员站长
2022/09/13
1.1K0
Spring中bean的生命周期(最详细)
聊聊如何实现动态加载spring拦截器
注: 核心点是利用MappedInterceptor bean能被AbstractHandlerMapping自动探测
lyb-geek
2024/01/21
1570
聊聊如何实现动态加载spring拦截器
Spring上下文无法通过getBean获取某些bean?
在springboot项目中发送应用内事件,发现业务并没有如预期方式处理,查看日志发现有报错:
叔牙
2024/01/24
1.2K0
Spring上下文无法通过getBean获取某些bean?
推荐阅读
相关推荐
《Spring 手撸专栏》第 7 章:所向披靡,实现应用上下文,自动识别、资源加载、扩展机制
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文