欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

帶你了解Spring中bean的獲取

 更新時(shí)間:2021年08月02日 15:12:15   作者:保護(hù)眼睛  
這篇文章主要介紹了Spring在代碼中獲取bean的幾種方式詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Spring 中bean的獲取

1.通過(guò)context.getbean 的方式來(lái)獲取bean
ApplicationContext:是spring繼BeanFactory之外的另一個(gè)核心接口或容器,允許容器通過(guò)應(yīng)用程序上下文環(huán)境創(chuàng)建、獲取、管理bean。也就是Spring中的所有的bean都是在這里管理的。
在這里插入圖片描述

那么通過(guò)可以通過(guò)context.getbean 的方式來(lái)獲取bean的時(shí)候、如何填寫(xiě)要獲取的bean的名字呢?也就是spring容器如何給注冊(cè)到容器中的bean命名呢?

AnnotationBeanNameGenerator調(diào)用的是buildDefaultBeanName 方法

在這里插入圖片描述

在這里插入圖片描述

buildDefaultBeanName方法調(diào)用的是Introspector.decapitalize方法、也就是Introspector類(lèi)中的decapitalize方法、這是JDK1.8的函數(shù)。命名的規(guī)則就是如果傳入的類(lèi)的名字的長(zhǎng)度大于1的話、如果第一個(gè)和第二個(gè)字母都是大寫(xiě)的話、那么就返回類(lèi)的名字、否則就將類(lèi)的名字的首字母變?yōu)樾?xiě)的字母返回.

在這里插入圖片描述

我們可以調(diào)用這個(gè)函數(shù)來(lái)做測(cè)試:

在這里插入圖片描述

當(dāng)傳入的String是User、USer、USER 、 user的時(shí)候分別返回的是user、USer、USER、user、結(jié)果也是符合我們的預(yù)期的

在這里插入圖片描述

2.通過(guò)類(lèi)型來(lái)獲取注冊(cè)到Spring容器中的bean
LoginController loginController1 = context.getBean(LoginController.class);
在這里插入圖片描述
在這里插入圖片描述

兩者從Spring容器中獲取的bean是同一個(gè)bean

3.也可以使用這兩個(gè)注解來(lái)取出對(duì)象、也就是將這兩個(gè)對(duì)象作為另外一個(gè)對(duì)象的屬性的時(shí)候、可以使用這兩個(gè)注解來(lái)實(shí)現(xiàn)取bean。
@Autowired
@Resource
在這里插入圖片描述
使用這三種的方式獲取到的bean都是同一個(gè)bean。
在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評(píng)論