分享
 
 
 

用FactoryBean让Spring配置动起来

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

看到不少朋友讨论 spring 配置时认为 spring 配置中只能静态的设置一些参数(典型情况如数据库配置, 定时器配置等)导致不方便, 其实 spring 已经提供了非常便利的方式来实现动态配置, 我们要做的只是实现一个自己的 FactoryBean , 来看一下 FactoryBean 接口的定义

代码

/**

* Interface to be implemented by objects used within a BeanFactory

* that are themselves factories. If a bean implements this interface,

* it is used as a factory, not directly as a bean.

*

* <p><b>NB: A bean that implements this interface cannot be used

* as a normal bean.</b> A FactoryBean is defined in a bean style,

* but the object eXPosed for bean references is always the object

* that it creates.

*

* <p>FactoryBeans can support singletons and prototypes, and can

* either create objects lazily on demand or eagerly on startup.

*

* <p>This interface is heavily used within the framework, for

* example for the AOP ProxyFactoryBean or JndiObjectFactoryBean.

* It can be used for application components, but this is not common

* outside of infrastrUCture code.

*

* @author Rod Johnson

* @author Juergen Hoeller

* @since 08.03.2003

* @see org.springframework.beans.factory.BeanFactory

* @see org.springframework.aop.framework.ProxyFactoryBean

* @see org.springframework.jndi.JndiObjectFactoryBean

*/

public interface FactoryBean {

/**

* Return an instance (possibly shared or independent) of the object

* managed by this factory. As with a BeanFactory, this allows

* support for both the Singleton and Prototype design pattern.

* <p>If this method returns <code>null</code>, the factory will consider

* the FactoryBean as not fully initialized and throw a corresponding

* FactoryBeanNotInitializedException.

* @return an instance of the bean (should not be <code>null</code>;

* a <code>null</code> value will be considered as an indication of

* incomplete initialization)

* @throws Exception in case of creation errors

* @see FactoryBeanNotInitializedException

*/

Object getObject() throws Exception;

/**

* Return the type of object that this FactoryBean creates, or <code>null</code>

* if not known in advance. This allows to check for specific types

* of beans without instantiating objects, for example on autowiring.

* <p>For a singleton, this should try to avoid singleton creation

* as far as possible; it should rather estimate the type in advance.

* For prototypes, returning a meaningful type here is advisable too.

* <p>This method can be called <i>before</i> this FactoryBean has

* been fully initialized. It must not rely on state created during

* initialization; of course, it can still use such state if available.

* <p>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有