帶你了解Spring中bean的獲取

2022-10-06 02:18:08 字數 968 閱讀 3666

目錄

1.通過context.getbean 的方式來獲取bean

application程式設計客棧context:是spring繼beanfactory程式設計客棧之外的另乙個核心介面或容器,允許容器通過應用程式設計客棧程式上下文環境建立、獲取、管理bean。也就是spring中的所有的bean都是在這裡管理的。

那麼通過可以通過context.getbean 的方式來獲取bean的時候、如何填寫要獲取的bean的名字呢?也就是spring容器如何給註冊到容器中的bean命名呢?

annotationbeannamegenerator呼叫的是builddefafjnuryzultbeanname方法

builddefaultbeanname方法呼叫的是introspector.decapitalize方法、也就是introspector類中的decapitalize方法、這是jdk1.8的函式。命名的規則就是如果傳入的類的名字的長度大於1的話、如果第乙個和第二個字母都是大寫的話、那麼就返回類的名字、否則就將類的名字的首字母變為小寫的字母返回.

我們可以呼叫這個函式來做測試:

當傳入的string是user、user、user 、 user的時候分別返回的是user、user、user、user、結果也是符合我們的預期的

2.通過型別來獲取註冊到spring容器中的bean

logincontroller logincontroller1 = context.getbean(logincontroller.class);

兩者從spring容器中獲取的bean是www.cppcns.com同乙個bean

3.也可以使用這兩個註解來取出物件、也就是將這兩個物件作為另外乙個物件的屬性的時候、可以使用這兩個註解來實現取bean。

@autowired

@resource

使用這三種的方式獲取到的bean都是同乙個bean。

本文標題: 帶你了解spring中bean的獲取

本文位址:

Spring中Bean的配置

以下面的xml檔案舉例 第乙個bean的名稱為role,第二個bean的名稱為medicine,第三個bean的名稱為spring.chapter.mary.poison,第四個bean的名稱為spring.chapter.mary.poison 1 id和name的區別如下 id屬性具有唯一性,每...

spring中bean的建立

問題 1 bean 的建立時機 bean 是在什麼時候被建立的,有哪些規則?容器初始化的時候會預先對單例和非延遲載入的物件進行預先初始化。其他的都是延遲載入是在第一次呼叫getbean 的時候被建立。從 defaultlistablebeanfactory 的 preinstantiatesingl...

Spring中bean的含義

我個人的理解,覺得bean就相當於定義乙個元件,這個元件是用於具體實現某個功能的。這裡的所定義的bean就相當於給了你乙個簡潔方便的方法來呼叫這個元件實現你要完成的功能。對於我們的spring最主要的應該就是由這些bean組成的bean工廠,每個bean實現乙個功能 例如 你寫的第乙個bean id...