无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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ó)家法律
壶关县| 伊金霍洛旗| 常山县| 洪洞县| 德清县| 安义县| 黄山市| 珲春市| 乌兰察布市| 灵山县| 沁阳市| 明光市| 顺义区| 民乐县| 晋宁县| 澄迈县| 资溪县| 林西县| 札达县| 宜城市| 深州市| 贡觉县| 贡山| 达尔| 临西县| 昌都县| 莒南县| 息烽县| 五常市| 义马市| 上林县| 三都| 贵南县| 南漳县| 漳浦县| 格尔木市| 高雄市| 彭阳县| 鲁甸县| 沙河市| 托里县|