码迷,mamicode.com
首页 > 编程语言 > 详细

spring之BeanFactoryAware接口

时间:2015-12-03 14:03:17      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

springBeanFactoryAware 

(转)要直接在自己的代码中读取spring的bean,我们除了根据常用的set外,也可以通过spring的BeanFactoryAware接口实现,只要实现setBeanFactory方法就可以,

Java代码  技术分享
  1. private BeanFactory               beanFactory;  
  2.   
  3. public void setBeanFactory(BeanFactory beanFactory) throws BeansException {  
  4. this.beanFactory = beanFactory;  
  5. }  

 

这样我们就可以直接拿东西用了,如

Java代码  技术分享
  1. Object  object = beanFactory.getBean(beanName);  

 

我们既然可以通过set来拿到我们要的对象,为什么还要用这个beanFactory呢,道理很简单,因为有些情况是需要动态的去获取 对象的,比如说我有10个银行的处理对象,他们都继承了我的BankService对象,但是具体处理的时候要哪家银行的对象呢?这个依赖于用户的选择。 你可以注入10个BankService实例,然后用if --else来搞,不过那样太坨了。每增加一家银行你都需要改代码。

通过beanFactory的话,那就一行代码搞定,只要给beanName就OK了,动点脑筋吧beanName配置的有规律点,然后根据用户的银行选择,凑出个beanName,大功告成了!

spring之BeanFactoryAware接口

标签:

原文地址:http://www.cnblogs.com/langtianya/p/5015828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!