最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Spring系列(七):@FactoryBean注解用法介紹

2022-04-05 16:32 作者:IT技術(shù)分享社區(qū)  | 我要投稿

今天給大家介紹@FactoryBean注解用法,希望對大家能有所幫助!? ?

? ? ? ?

1、@FactoryBean注解介紹

FactoryBean是實現(xiàn)了FactoryBean<T>接口的Bean,可以該Bean的ID從BeanFactory中獲取的實際上是FactoryBean中g(shù)etObject()方法返回的實例對象,而并不是直接FactoryBean本身,想要獲取FactoryBean對象本身,可以在id前面加一個&符號來獲取。

BeanFactory部分代碼:

說明:String FACTORY_BEAN_PREFIX = "&" ,&符號表示要獲取FactoryBean本身


2、@FactoryBean的源碼內(nèi)容如下:

Spring3.0版本之后,F(xiàn)actoryBean開始支持泛型,即接口聲明改為FactoryBean<T>的形式

實現(xiàn)FactoryBean<T>接口有一下三個方法

  • getObject:獲取bean對應的實例對象

  • getObjectType:獲取factoryBean獲取到的實例類型

  • isSingleton:factoryBean創(chuàng)建的實例是否是單實例

3、用法示例

3.1 新建Book.java


3.2 新建BookFactoryBean.java


3.3 FactoryBeanConfig.java

3.4 TestFactoryBean.java


4、@FactoryBean應用場景

  • 單一的對象使用FactoryBean意義不大。

  • 創(chuàng)建對象時需要依賴于需要別的接口來監(jiān)聽數(shù)據(jù)、根據(jù)推送數(shù)據(jù)過來的接口做一些數(shù)據(jù)處理。

  • 搭配其他接口協(xié)作, 依賴于Spring生命周期, 針對某個時間節(jié)點、合適的條件判斷,來生成自己需要的對象。

5、典型應用

  • MyBatis3 提供 mybatis-spring項目中的 org.mybatis.spring.SqlSessionFactoryBean:

  • 阿里開源的分布式服務框架 Dubbo 中的Consumer 也使用到了FactoryBean

  • shiro中ShiroFilterFactoryBean

  • druid的JdbcStatManagerFactoryBean


Spring系列(七):@FactoryBean注解用法介紹的評論 (共 條)

分享到微博請遵守國家法律
石家庄市| 治多县| 昌图县| 邛崃市| 蒙阴县| 六安市| 甘洛县| 含山县| 西城区| 泸水县| 乳源| 贵德县| 湘阴县| 通许县| 昂仁县| 呼图壁县| 曲周县| 那坡县| 白河县| 和硕县| 天水市| 任丘市| 武定县| 安义县| 从化市| 绥宁县| 锦屏县| 花莲县| 镇沅| 宜州市| 巴彦淖尔市| 星子县| 和田市| 彭州市| 南漳县| 栖霞市| 汝州市| 都江堰市| 盐边县| 会昌县| 常山县|