国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 梨树县| 湟中县| 长岭县| 高雄县| 舟山市| 博兴县| 金塔县| 榕江县| 泰兴市| 香港 | 什邡市| 商水县| 富锦市| 梅河口市| 东乌| 克山县| 宜阳县| 丰都县| 工布江达县| 东源县| 雷山县| 霍邱县| 油尖旺区| 萍乡市| 横山县| 即墨市| 昌平区| 武鸣县| 明星| 济宁市| 同德县| 巨鹿县| 舒城县| 齐齐哈尔市| 岫岩| 鹤山市| 克什克腾旗| 淄博市| 金堂县| 兴海县| 涿鹿县|