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

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

Spring定義Bean的六種方式

2023-02-17 14:35 作者:一行小詩(shī)  | 我要投稿

一、xml 配置文件

這種方式在 SpringMVC 中是常用的方式,Spring 啟動(dòng)時(shí)會(huì)讀取配置文件,并將配置文件中配置好的類加入到 IOC 容器中。

使用?ClassPathXmlApplicationContext()?讀取配置并啟動(dòng)一個(gè) Spring IOC 容器。調(diào)用容器的?getBean()?方法返回需要的對(duì)象。


二、配置類

這種方式比較類似于第一種配置文件,但是這種更效率。

創(chuàng)建一個(gè)配置類,配合使用?@Bean?注解,以成員方法的形式返回 Bean 實(shí)例。

使用?AnnotationConfigApplicationContext()?讀取配置類并啟動(dòng)一個(gè) Spring IOC 容器。調(diào)用容器的?getBean()?方法返回需要的對(duì)象。


三、掃描包

通過(guò) @ComponentSacn 掃描包形式獲取 Bean,被掃描的包下的所有帶 @Component 注解的類都會(huì)被認(rèn)為是 Bean。


四、BeanDefinition 構(gòu)建

編程式使用 BeanDefinition 構(gòu)建 Bean,前三種方式也是基于底層 BeanDefinition 構(gòu)建出來(lái)的。

這種方式更復(fù)雜,也更底層。


五、FactoryBean 構(gòu)建

使用 FactoryBean 構(gòu)建特殊 Bean,使用 FactoryBean,Spring 會(huì)構(gòu)建兩個(gè) Bean,一個(gè)是外層類的類型,一個(gè)是返回 Bean 的類型,外層類型是通過(guò) Bean 名字前面加?&?符號(hào)獲取。

創(chuàng)建容器后,外層類型作為 Bean 的類型注冊(cè)到容器中,在調(diào)用?getBean()?方法時(shí),默認(rèn)返回?getObject()?返回的對(duì)象。

如果在 Bean 的名字前面加?&?,則可以獲取到外層類型。

FactoryBean 產(chǎn)生單個(gè) Bean,在 IOC 容器的基礎(chǔ)上給 Bean 的實(shí)現(xiàn)加上了一個(gè)簡(jiǎn)單工廠模式和裝飾模式,是一個(gè)可以生產(chǎn)對(duì)象和裝飾對(duì)象的工廠 Bean,由 Spring 管理后,生產(chǎn)的對(duì)象是由?getObject()?方法決定的。


六、registerBean 直接注冊(cè) Bean

在構(gòu)建 Bean 時(shí)使用 Supplier 初始化 Bean 的參數(shù),當(dāng)然也可以做一些邏輯操作。Supplier 可以簡(jiǎn)寫(xiě)到 lambda 表達(dá)式。


Spring定義Bean的六種方式的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
囊谦县| 始兴县| 罗平县| 西青区| 万安县| 金寨县| 大城县| 仪陇县| 石嘴山市| 林州市| 沅江市| 靖宇县| 安塞县| 柳河县| 旅游| 栾城县| 新巴尔虎右旗| 横峰县| 鹤山市| 双牌县| 保康县| 金溪县| 龙口市| 平邑县| 丰镇市| 门源| 定远县| 彰武县| 苗栗市| 凤城市| 久治县| 正镶白旗| 新源县| 阿拉善盟| 方城县| 乐平市| 沙湾县| 湄潭县| 仲巴县| 贵南县| 丹东市|