覆盖spring的bean_Spring Bean覆盖策略

本文探讨了在Spring中处理bean覆盖的情况,特别是在构建插件架构时的必要性。作者指出,bean覆盖可能导致的问题,尤其是未正确指定bean作用域。提出了一个简洁的解决方案,通过Java属性文件来定义和覆盖bean,允许在核心JAR和外部文件中定义实现。这种方法让用户避免直接接触Spring,保持灵活性。
摘要由CSDN通过智能技术生成

覆盖spring的bean

这些天,我越来越多地与Spring合作,而我发现的问题引起了人们的疑问。 本周,我的想法转向了bean覆盖,即用同一个名称注册多个bean。

对于简单的项目,则不需要这样做。 但是当围绕核心构建一个插件架构时,这可能是一个解决方案。 这是我发现并验证的有关bean覆盖的一些事实。

每个文件一个bean id

Spring bean文件中的id属性的类型为ID ,这意味着在特定的Spring bean定义文件中,只有一个具有特定ID bean。

根据上下文片段的加载顺序覆盖bean

与类路径加载相反,在类路径加载中,第一个类比其他类在类路径上具有更高的优先级,它是最后使用的具有相同名称的最后一个 bean。 这就是为什么我称它为覆盖。 反转片段加载顺序可以证明这一点。

片段组装方法定义顺序

片段可以从Spring bean定义文件中的<import>语句或通过外部组件( 例如 ,Web应用程序或测试类中的Spring上下文侦听器)进行汇编。 都定义了确定性顺序。
附带说明一下,尽管我以前在项目中使用过imp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值