管理Spring容器中的自定义Bean

Spring作为一个Bean容器,通过AOP和IoC很好的将这些Bean管理起来。但是,有的时候,我们希望从Spring的上下文管理其中部分与我们业务相关的对象。今天,想说的问题就是通过一个Map取出Spring符合我们业务中的Bean,在业务的特定阶段进行使用。

问题描述:
在处理业务中,把一部分数据信息需要放置到一个托管的地方,根据不同的状态来完成处理。而处理数据的逻辑不同。

解决办法:
那么我们可以通过为数据添加业务类型,然后我们通过类型去寻找符合它的业务处理。而我们的业务很多,如果通过switch判断,这样的程序耦合性很高,很不符合Spring的规范。通过查看资料,我们发现通过Spring将这件事变得简单了很多。

思路描述:
1. 通过定义一个Bean注册器(BeanRegistry),通过实现ApplicationContextAware接口,获取Spring的上下文,通过InitializingBean接口,在实例加载完毕后,从Spring上下中获取MarkedBizBean接口类型的Bean信息。
2. 需要配合业务处理的Bean需要实现MarkedBizBean接口,这样我可以通过BeanFactoryUtils.beansOfTypeIncludingAncestors方法从Spring上下文收集需要的Bean。
3. 通过一个BizBeanService的服务接口供外界使用BizBean信息。
4. 那么,我们将要处理的对象信息,只需要存储了需要处理的业务key或者其他的方式,将业务数据和业务操作关联起来即可解决问题。

转载于:https://my.oschina.net/u/131940/blog/681158

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值