国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

用FactoryBean讓Spring配置動(dòng)起來(lái)

2019-11-18 15:26:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  看到不少朋友討論 sPRing 配置時(shí)認(rèn)為 spring 配置中只能靜態(tài)的設(shè)置一些參數(shù)(典型情況如數(shù)據(jù)庫(kù)配置, 定時(shí)器配置等)導(dǎo)致不方便, 其實(shí) spring 已經(jīng)提供了非常便利的方式來(lái)實(shí)現(xiàn)動(dòng)態(tài)配置, 我們要做的只是實(shí)現(xiàn)一個(gè)自己的 FactoryBean , 來(lái)看一下 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>

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 明水县| 东阳市| 外汇| 博兴县| 奉贤区| 长岛县| 鄂尔多斯市| 壤塘县| 四会市| 板桥市| 寿宁县| 白朗县| 兴安县| 大理市| 普格县| 灌南县| 海丰县| 双流县| 万盛区| 景泰县| 通道| 镇安县| 中宁县| 公安县| 卓尼县| 哈尔滨市| 扶风县| 衡南县| 奉贤区| 宣恩县| 屏南县| 耒阳市| 乌拉特中旗| 遂溪县| 天长市| 沙田区| 榆树市| 卢湾区| 新邵县| 香河县| 仁化县|