溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring中怎么獲得Bean本身的id

發(fā)布時間:2021-07-22 15:56:32 來源:億速云 閱讀:148 作者:Leah 欄目:編程語言

Spring中怎么獲得Bean本身的id,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

一 配置

<?xml version="1.0" encoding="GBK"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns="http://www.springframework.org/schema/beans"   xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">   <!-- Spring容器會檢測容器中所有Bean,如果發(fā)現某個Bean實現了BeanNameAware接口,   Spring容器會在創(chuàng)建該Bean之后,自動調用該Bean的setBeanName()方法,   調用該方法時,會將該Bean的配置id作為參數傳給該方法   該方法的實現部分將Spring傳入的參數(Bean的配置id)賦為給該Chinese對象的   beanName實例變量,因此接下來即可通過該beanName實例變量來訪問Bean的配置id。-->   <bean id="chinese" class="org.crazyit.app.service.Chinese"/></beans>

二 Bean

package org.crazyit.app.service;import org.springframework.beans.factory.BeanNameAware;public class Chinese implements BeanNameAware{   // 保存部署該Bean時指定的id屬性   private String beanName;   public void setBeanName(String name)   {      this.beanName = name;   }   public void info()   {      System.out.println("Chinese實現類"        + ", 部署該Bean時指定的id為" + beanName);   }}

三 測試類

package lee;import org.springframework.context.*;import org.springframework.context.support.*;import org.crazyit.app.service.*;public class SpringTest{  public static void main(String[] args)  {    // 創(chuàng)建Spring容器,容器會自動預初始化所有Bean實例    ApplicationContext ctx =      new ClassPathXmlApplicationContext("beans.xml");    Chinese chin = ctx.getBean("chinese" , Chinese.class);    chin.info();  }}

四 測試結果

Chinese實現類, 部署該Bean時指定的id為chinese

關于Spring中怎么獲得Bean本身的id問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI